173.56/121.11 MAYBE 173.56/121.12 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 173.56/121.12 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 173.56/121.12 173.56/121.12 173.56/121.12 H-Termination with start terms of the given HASKELL could not be shown: 173.56/121.12 173.56/121.12 (0) HASKELL 173.56/121.12 (1) IFR [EQUIVALENT, 0 ms] 173.56/121.12 (2) HASKELL 173.56/121.12 (3) BR [EQUIVALENT, 0 ms] 173.56/121.12 (4) HASKELL 173.56/121.12 (5) COR [EQUIVALENT, 18 ms] 173.56/121.12 (6) HASKELL 173.56/121.12 (7) LetRed [EQUIVALENT, 0 ms] 173.56/121.12 (8) HASKELL 173.56/121.12 (9) NumRed [SOUND, 0 ms] 173.56/121.12 (10) HASKELL 173.56/121.12 (11) Narrow [SOUND, 0 ms] 173.56/121.12 (12) AND 173.56/121.12 (13) QDP 173.56/121.12 (14) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (15) QDP 173.56/121.12 (16) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (17) QDP 173.56/121.12 (18) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (19) QDP 173.56/121.12 (20) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (21) QDP 173.56/121.12 (22) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (23) QDP 173.56/121.12 (24) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (25) QDP 173.56/121.12 (26) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (27) QDP 173.56/121.12 (28) InductionCalculusProof [EQUIVALENT, 19 ms] 173.56/121.12 (29) QDP 173.56/121.12 (30) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (31) QDP 173.56/121.12 (32) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (33) QDP 173.56/121.12 (34) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (35) QDP 173.56/121.12 (36) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (37) QDP 173.56/121.12 (38) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (39) QDP 173.56/121.12 (40) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (41) QDP 173.56/121.12 (42) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (43) QDP 173.56/121.12 (44) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (45) QDP 173.56/121.12 (46) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (47) QDP 173.56/121.12 (48) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (49) QDP 173.56/121.12 (50) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (51) QDP 173.56/121.12 (52) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (53) QDP 173.56/121.12 (54) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (55) QDP 173.56/121.12 (56) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (57) QDP 173.56/121.12 (58) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (59) QDP 173.56/121.12 (60) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (61) QDP 173.56/121.12 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (63) QDP 173.56/121.12 (64) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (65) QDP 173.56/121.12 (66) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (67) QDP 173.56/121.12 (68) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (69) QDP 173.56/121.12 (70) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (71) QDP 173.56/121.12 (72) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (73) QDP 173.56/121.12 (74) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (75) QDP 173.56/121.12 (76) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (77) QDP 173.56/121.12 (78) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (79) QDP 173.56/121.12 (80) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (81) QDP 173.56/121.12 (82) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (83) QDP 173.56/121.12 (84) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (85) QDP 173.56/121.12 (86) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (87) QDP 173.56/121.12 (88) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (89) QDP 173.56/121.12 (90) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (91) QDP 173.56/121.12 (92) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (93) QDP 173.56/121.12 (94) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (95) QDP 173.56/121.12 (96) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (97) QDP 173.56/121.12 (98) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (99) QDP 173.56/121.12 (100) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (101) QDP 173.56/121.12 (102) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (103) QDP 173.56/121.12 (104) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (105) QDP 173.56/121.12 (106) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (107) QDP 173.56/121.12 (108) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (109) QDP 173.56/121.12 (110) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (111) QDP 173.56/121.12 (112) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (113) QDP 173.56/121.12 (114) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (115) QDP 173.56/121.12 (116) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (117) QDP 173.56/121.12 (118) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (119) QDP 173.56/121.12 (120) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (121) QDP 173.56/121.12 (122) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (123) QDP 173.56/121.12 (124) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (125) QDP 173.56/121.12 (126) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (127) QDP 173.56/121.12 (128) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (129) QDP 173.56/121.12 (130) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (131) QDP 173.56/121.12 (132) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (133) QDP 173.56/121.12 (134) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (135) QDP 173.56/121.12 (136) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (137) QDP 173.56/121.12 (138) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (139) QDP 173.56/121.12 (140) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (141) QDP 173.56/121.12 (142) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (143) QDP 173.56/121.12 (144) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (145) QDP 173.56/121.12 (146) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (147) QDP 173.56/121.12 (148) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (149) QDP 173.56/121.12 (150) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (151) QDP 173.56/121.12 (152) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (153) QDP 173.56/121.12 (154) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (155) QDP 173.56/121.12 (156) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (157) QDP 173.56/121.12 (158) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (159) QDP 173.56/121.12 (160) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (161) QDP 173.56/121.12 (162) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (163) QDP 173.56/121.12 (164) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (165) QDP 173.56/121.12 (166) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (167) QDP 173.56/121.12 (168) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (169) QDP 173.56/121.12 (170) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (171) QDP 173.56/121.12 (172) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (173) QDP 173.56/121.12 (174) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (175) QDP 173.56/121.12 (176) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (177) QDP 173.56/121.12 (178) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (179) QDP 173.56/121.12 (180) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (181) QDP 173.56/121.12 (182) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (183) QDP 173.56/121.12 (184) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (185) QDP 173.56/121.12 (186) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (187) QDP 173.56/121.12 (188) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (189) QDP 173.56/121.12 (190) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (191) QDP 173.56/121.12 (192) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (193) QDP 173.56/121.12 (194) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (195) QDP 173.56/121.12 (196) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (197) QDP 173.56/121.12 (198) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (199) QDP 173.56/121.12 (200) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (201) QDP 173.56/121.12 (202) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (203) QDP 173.56/121.12 (204) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (205) QDP 173.56/121.12 (206) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (207) QDP 173.56/121.12 (208) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (209) QDP 173.56/121.12 (210) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (211) QDP 173.56/121.12 (212) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (213) QDP 173.56/121.12 (214) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (215) QDP 173.56/121.12 (216) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (217) QDP 173.56/121.12 (218) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (219) QDP 173.56/121.12 (220) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (221) QDP 173.56/121.12 (222) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (223) QDP 173.56/121.12 (224) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (225) QDP 173.56/121.12 (226) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (227) QDP 173.56/121.12 (228) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (229) QDP 173.56/121.12 (230) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (231) QDP 173.56/121.12 (232) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (233) QDP 173.56/121.12 (234) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (235) QDP 173.56/121.12 (236) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (237) QDP 173.56/121.12 (238) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (239) QDP 173.56/121.12 (240) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (241) QDP 173.56/121.12 (242) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (243) QDP 173.56/121.12 (244) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (245) QDP 173.56/121.12 (246) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (247) QDP 173.56/121.12 (248) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (249) QDP 173.56/121.12 (250) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (251) QDP 173.56/121.12 (252) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (253) QDP 173.56/121.12 (254) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (255) QDP 173.56/121.12 (256) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (257) QDP 173.56/121.12 (258) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (259) QDP 173.56/121.12 (260) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (261) QDP 173.56/121.12 (262) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (263) QDP 173.56/121.12 (264) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (265) QDP 173.56/121.12 (266) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (267) QDP 173.56/121.12 (268) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (269) QDP 173.56/121.12 (270) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (271) QDP 173.56/121.12 (272) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (273) QDP 173.56/121.12 (274) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (275) QDP 173.56/121.12 (276) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (277) QDP 173.56/121.12 (278) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (279) QDP 173.56/121.12 (280) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (281) QDP 173.56/121.12 (282) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (283) QDP 173.56/121.12 (284) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (285) QDP 173.56/121.12 (286) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (287) QDP 173.56/121.12 (288) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (289) QDP 173.56/121.12 (290) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (291) QDP 173.56/121.12 (292) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (293) QDP 173.56/121.12 (294) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (295) QDP 173.56/121.12 (296) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (297) QDP 173.56/121.12 (298) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (299) QDP 173.56/121.12 (300) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (301) QDP 173.56/121.12 (302) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (303) QDP 173.56/121.12 (304) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (305) QDP 173.56/121.12 (306) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (307) QDP 173.56/121.12 (308) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (309) QDP 173.56/121.12 (310) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (311) QDP 173.56/121.12 (312) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (313) QDP 173.56/121.12 (314) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (315) QDP 173.56/121.12 (316) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (317) QDP 173.56/121.12 (318) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (319) QDP 173.56/121.12 (320) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (321) QDP 173.56/121.12 (322) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (323) QDP 173.56/121.12 (324) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (325) QDP 173.56/121.12 (326) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (327) QDP 173.56/121.12 (328) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (329) QDP 173.56/121.12 (330) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (331) QDP 173.56/121.12 (332) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (333) QDP 173.56/121.12 (334) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (335) QDP 173.56/121.12 (336) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (337) QDP 173.56/121.12 (338) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (339) QDP 173.56/121.12 (340) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (341) QDP 173.56/121.12 (342) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (343) QDP 173.56/121.12 (344) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (345) QDP 173.56/121.12 (346) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (347) QDP 173.56/121.12 (348) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (349) QDP 173.56/121.12 (350) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (351) QDP 173.56/121.12 (352) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (353) QDP 173.56/121.12 (354) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (355) QDP 173.56/121.12 (356) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (357) QDP 173.56/121.12 (358) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (359) QDP 173.56/121.12 (360) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (361) QDP 173.56/121.12 (362) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (363) QDP 173.56/121.12 (364) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (365) QDP 173.56/121.12 (366) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (367) QDP 173.56/121.12 (368) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (369) QDP 173.56/121.12 (370) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (371) QDP 173.56/121.12 (372) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (373) QDP 173.56/121.12 (374) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (375) QDP 173.56/121.12 (376) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (377) QDP 173.56/121.12 (378) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (379) QDP 173.56/121.12 (380) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (381) QDP 173.56/121.12 (382) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (383) QDP 173.56/121.12 (384) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (385) QDP 173.56/121.12 (386) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (387) QDP 173.56/121.12 (388) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (389) QDP 173.56/121.12 (390) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (391) QDP 173.56/121.12 (392) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (393) QDP 173.56/121.12 (394) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (395) QDP 173.56/121.12 (396) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (397) QDP 173.56/121.12 (398) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (399) QDP 173.56/121.12 (400) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (401) QDP 173.56/121.12 (402) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (403) QDP 173.56/121.12 (404) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (405) QDP 173.56/121.12 (406) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (407) QDP 173.56/121.12 (408) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (409) QDP 173.56/121.12 (410) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (411) QDP 173.56/121.12 (412) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (413) QDP 173.56/121.12 (414) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (415) QDP 173.56/121.12 (416) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (417) QDP 173.56/121.12 (418) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (419) QDP 173.56/121.12 (420) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (421) QDP 173.56/121.12 (422) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (423) QDP 173.56/121.12 (424) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (425) QDP 173.56/121.12 (426) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (427) QDP 173.56/121.12 (428) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (429) QDP 173.56/121.12 (430) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (431) QDP 173.56/121.12 (432) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (433) QDP 173.56/121.12 (434) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (435) QDP 173.56/121.12 (436) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (437) QDP 173.56/121.12 (438) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (439) QDP 173.56/121.12 (440) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (441) QDP 173.56/121.12 (442) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (443) QDP 173.56/121.12 (444) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (445) QDP 173.56/121.12 (446) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (447) QDP 173.56/121.12 (448) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (449) QDP 173.56/121.12 (450) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (451) QDP 173.56/121.12 (452) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (453) QDP 173.56/121.12 (454) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (455) QDP 173.56/121.12 (456) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (457) QDP 173.56/121.12 (458) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (459) QDP 173.56/121.12 (460) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (461) QDP 173.56/121.12 (462) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (463) QDP 173.56/121.12 (464) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (465) QDP 173.56/121.12 (466) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (467) QDP 173.56/121.12 (468) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (469) QDP 173.56/121.12 (470) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (471) QDP 173.56/121.12 (472) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (473) QDP 173.56/121.12 (474) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (475) QDP 173.56/121.12 (476) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (477) QDP 173.56/121.12 (478) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (479) QDP 173.56/121.12 (480) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (481) QDP 173.56/121.12 (482) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (483) QDP 173.56/121.12 (484) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (485) QDP 173.56/121.12 (486) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (487) QDP 173.56/121.12 (488) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (489) QDP 173.56/121.12 (490) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (491) QDP 173.56/121.12 (492) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (493) QDP 173.56/121.12 (494) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (495) QDP 173.56/121.12 (496) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (497) QDP 173.56/121.12 (498) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (499) QDP 173.56/121.12 (500) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (501) QDP 173.56/121.12 (502) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (503) QDP 173.56/121.12 (504) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (505) QDP 173.56/121.12 (506) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (507) QDP 173.56/121.12 (508) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (509) QDP 173.56/121.12 (510) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (511) QDP 173.56/121.12 (512) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (513) QDP 173.56/121.12 (514) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (515) QDP 173.56/121.12 (516) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (517) QDP 173.56/121.12 (518) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (519) QDP 173.56/121.12 (520) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (521) QDP 173.56/121.12 (522) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (523) QDP 173.56/121.12 (524) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (525) QDP 173.56/121.12 (526) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (527) QDP 173.56/121.12 (528) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (529) QDP 173.56/121.12 (530) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (531) QDP 173.56/121.12 (532) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (533) QDP 173.56/121.12 (534) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (535) QDP 173.56/121.12 (536) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (537) QDP 173.56/121.12 (538) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (539) QDP 173.56/121.12 (540) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (541) QDP 173.56/121.12 (542) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (543) QDP 173.56/121.12 (544) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (545) QDP 173.56/121.12 (546) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (547) QDP 173.56/121.12 (548) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (549) QDP 173.56/121.12 (550) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (551) QDP 173.56/121.12 (552) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (553) QDP 173.56/121.12 (554) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (555) QDP 173.56/121.12 (556) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (557) QDP 173.56/121.12 (558) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (559) QDP 173.56/121.12 (560) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (561) QDP 173.56/121.12 (562) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (563) QDP 173.56/121.12 (564) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (565) QDP 173.56/121.12 (566) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (567) QDP 173.56/121.12 (568) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (569) QDP 173.56/121.12 (570) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (571) QDP 173.56/121.12 (572) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (573) QDP 173.56/121.12 (574) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (575) QDP 173.56/121.12 (576) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (577) QDP 173.56/121.12 (578) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (579) QDP 173.56/121.12 (580) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (581) QDP 173.56/121.12 (582) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (583) QDP 173.56/121.12 (584) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (585) QDP 173.56/121.12 (586) QDPOrderProof [EQUIVALENT, 104 ms] 173.56/121.12 (587) QDP 173.56/121.12 (588) QDPOrderProof [EQUIVALENT, 176 ms] 173.56/121.12 (589) QDP 173.56/121.12 (590) InductionCalculusProof [EQUIVALENT, 0 ms] 173.56/121.12 (591) QDP 173.56/121.12 (592) QDP 173.56/121.12 (593) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (594) YES 173.56/121.12 (595) QDP 173.56/121.12 (596) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (597) YES 173.56/121.12 (598) QDP 173.56/121.12 (599) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (600) YES 173.56/121.12 (601) QDP 173.56/121.12 (602) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (603) YES 173.56/121.12 (604) QDP 173.56/121.12 (605) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (606) AND 173.56/121.12 (607) QDP 173.56/121.12 (608) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (609) QDP 173.56/121.12 (610) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (611) QDP 173.56/121.12 (612) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (613) YES 173.56/121.12 (614) QDP 173.56/121.12 (615) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (616) YES 173.56/121.12 (617) QDP 173.56/121.12 (618) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (619) YES 173.56/121.12 (620) QDP 173.56/121.12 (621) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (622) YES 173.56/121.12 (623) QDP 173.56/121.12 (624) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (625) YES 173.56/121.12 (626) QDP 173.56/121.12 (627) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (628) YES 173.56/121.12 (629) QDP 173.56/121.12 (630) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (631) YES 173.56/121.12 (632) QDP 173.56/121.12 (633) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (634) YES 173.56/121.12 (635) QDP 173.56/121.12 (636) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (637) YES 173.56/121.12 (638) QDP 173.56/121.12 (639) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (640) QDP 173.56/121.12 (641) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (642) QDP 173.56/121.12 (643) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (644) QDP 173.56/121.12 (645) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (646) QDP 173.56/121.12 (647) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (648) QDP 173.56/121.12 (649) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (650) QDP 173.56/121.12 (651) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (652) QDP 173.56/121.12 (653) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (654) QDP 173.56/121.12 (655) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (656) QDP 173.56/121.12 (657) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (658) QDP 173.56/121.12 (659) InductionCalculusProof [EQUIVALENT, 0 ms] 173.56/121.12 (660) QDP 173.56/121.12 (661) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (662) QDP 173.56/121.12 (663) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (664) QDP 173.56/121.12 (665) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (666) QDP 173.56/121.12 (667) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (668) QDP 173.56/121.12 (669) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (670) QDP 173.56/121.12 (671) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (672) QDP 173.56/121.12 (673) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (674) QDP 173.56/121.12 (675) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (676) QDP 173.56/121.12 (677) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (678) QDP 173.56/121.12 (679) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (680) QDP 173.56/121.12 (681) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (682) AND 173.56/121.12 (683) QDP 173.56/121.12 (684) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (685) QDP 173.56/121.12 (686) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (687) QDP 173.56/121.12 (688) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (689) QDP 173.56/121.12 (690) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (691) QDP 173.56/121.12 (692) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (693) QDP 173.56/121.12 (694) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (695) QDP 173.56/121.12 (696) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (697) QDP 173.56/121.12 (698) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (699) QDP 173.56/121.12 (700) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (701) AND 173.56/121.12 (702) QDP 173.56/121.12 (703) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (704) QDP 173.56/121.12 (705) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (706) QDP 173.56/121.12 (707) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (708) QDP 173.56/121.12 (709) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (710) QDP 173.56/121.12 (711) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (712) QDP 173.56/121.12 (713) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (714) QDP 173.56/121.12 (715) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (716) QDP 173.56/121.12 (717) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (718) QDP 173.56/121.12 (719) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (720) QDP 173.56/121.12 (721) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (722) QDP 173.56/121.12 (723) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (724) QDP 173.56/121.12 (725) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (726) QDP 173.56/121.12 (727) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (728) QDP 173.56/121.12 (729) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (730) QDP 173.56/121.12 (731) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (732) QDP 173.56/121.12 (733) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (734) QDP 173.56/121.12 (735) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (736) QDP 173.56/121.12 (737) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (738) QDP 173.56/121.12 (739) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (740) YES 173.56/121.12 (741) QDP 173.56/121.12 (742) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (743) QDP 173.56/121.12 (744) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (745) QDP 173.56/121.12 (746) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (747) QDP 173.56/121.12 (748) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (749) QDP 173.56/121.12 (750) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (751) QDP 173.56/121.12 (752) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (753) QDP 173.56/121.12 (754) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (755) QDP 173.56/121.12 (756) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (757) QDP 173.56/121.12 (758) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (759) QDP 173.56/121.12 (760) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (761) QDP 173.56/121.12 (762) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (763) QDP 173.56/121.12 (764) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (765) QDP 173.56/121.12 (766) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (767) QDP 173.56/121.12 (768) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (769) QDP 173.56/121.12 (770) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (771) QDP 173.56/121.12 (772) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (773) QDP 173.56/121.12 (774) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (775) QDP 173.56/121.12 (776) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (777) QDP 173.56/121.12 (778) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (779) QDP 173.56/121.12 (780) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (781) QDP 173.56/121.12 (782) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (783) QDP 173.56/121.12 (784) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (785) QDP 173.56/121.12 (786) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (787) QDP 173.56/121.12 (788) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (789) QDP 173.56/121.12 (790) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (791) AND 173.56/121.12 (792) QDP 173.56/121.12 (793) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (794) QDP 173.56/121.12 (795) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (796) QDP 173.56/121.12 (797) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (798) QDP 173.56/121.12 (799) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (800) QDP 173.56/121.12 (801) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (802) QDP 173.56/121.12 (803) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (804) QDP 173.56/121.12 (805) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (806) QDP 173.56/121.12 (807) QDPOrderProof [EQUIVALENT, 973 ms] 173.56/121.12 (808) QDP 173.56/121.12 (809) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (810) TRUE 173.56/121.12 (811) QDP 173.56/121.12 (812) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (813) QDP 173.56/121.12 (814) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (815) AND 173.56/121.12 (816) QDP 173.56/121.12 (817) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (818) QDP 173.56/121.12 (819) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (820) QDP 173.56/121.12 (821) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (822) QDP 173.56/121.12 (823) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (824) QDP 173.56/121.12 (825) QDPOrderProof [EQUIVALENT, 187 ms] 173.56/121.12 (826) QDP 173.56/121.12 (827) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (828) TRUE 173.56/121.12 (829) QDP 173.56/121.12 (830) InductionCalculusProof [EQUIVALENT, 0 ms] 173.56/121.12 (831) QDP 173.56/121.12 (832) QDP 173.56/121.12 (833) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (834) QDP 173.56/121.12 (835) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (836) QDP 173.56/121.12 (837) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (838) QDP 173.56/121.12 (839) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (840) QDP 173.56/121.12 (841) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (842) QDP 173.56/121.12 (843) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (844) QDP 173.56/121.12 (845) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (846) QDP 173.56/121.12 (847) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (848) QDP 173.56/121.12 (849) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (850) AND 173.56/121.12 (851) QDP 173.56/121.12 (852) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (853) QDP 173.56/121.12 (854) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (855) QDP 173.56/121.12 (856) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (857) QDP 173.56/121.12 (858) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (859) QDP 173.56/121.12 (860) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (861) QDP 173.56/121.12 (862) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (863) QDP 173.56/121.12 (864) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (865) QDP 173.56/121.12 (866) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (867) QDP 173.56/121.12 (868) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (869) QDP 173.56/121.12 (870) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (871) QDP 173.56/121.12 (872) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (873) QDP 173.56/121.12 (874) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (875) QDP 173.56/121.12 (876) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (877) QDP 173.56/121.12 (878) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (879) QDP 173.56/121.12 (880) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (881) QDP 173.56/121.12 (882) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (883) QDP 173.56/121.12 (884) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (885) QDP 173.56/121.12 (886) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (887) QDP 173.56/121.12 (888) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (889) YES 173.56/121.12 (890) QDP 173.56/121.12 (891) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (892) QDP 173.56/121.12 (893) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (894) QDP 173.56/121.12 (895) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (896) QDP 173.56/121.12 (897) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (898) QDP 173.56/121.12 (899) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (900) QDP 173.56/121.12 (901) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (902) QDP 173.56/121.12 (903) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (904) QDP 173.56/121.12 (905) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (906) QDP 173.56/121.12 (907) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (908) QDP 173.56/121.12 (909) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (910) QDP 173.56/121.12 (911) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (912) QDP 173.56/121.12 (913) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (914) QDP 173.56/121.12 (915) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (916) QDP 173.56/121.12 (917) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (918) QDP 173.56/121.12 (919) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (920) QDP 173.56/121.12 (921) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (922) QDP 173.56/121.12 (923) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (924) QDP 173.56/121.12 (925) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (926) QDP 173.56/121.12 (927) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (928) QDP 173.56/121.12 (929) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (930) QDP 173.56/121.12 (931) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (932) QDP 173.56/121.12 (933) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (934) QDP 173.56/121.12 (935) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (936) QDP 173.56/121.12 (937) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (938) QDP 173.56/121.12 (939) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (940) AND 173.56/121.12 (941) QDP 173.56/121.12 (942) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (943) QDP 173.56/121.12 (944) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (945) QDP 173.56/121.12 (946) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (947) QDP 173.56/121.12 (948) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (949) QDP 173.56/121.12 (950) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (951) QDP 173.56/121.12 (952) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (953) QDP 173.56/121.12 (954) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (955) QDP 173.56/121.12 (956) QDPOrderProof [EQUIVALENT, 1591 ms] 173.56/121.12 (957) QDP 173.56/121.12 (958) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (959) TRUE 173.56/121.12 (960) QDP 173.56/121.12 (961) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (962) QDP 173.56/121.12 (963) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (964) AND 173.56/121.12 (965) QDP 173.56/121.12 (966) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (967) QDP 173.56/121.12 (968) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (969) QDP 173.56/121.12 (970) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (971) QDP 173.56/121.12 (972) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (973) QDP 173.56/121.12 (974) QDPOrderProof [EQUIVALENT, 1093 ms] 173.56/121.12 (975) QDP 173.56/121.12 (976) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (977) TRUE 173.56/121.12 (978) QDP 173.56/121.12 (979) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (980) QDP 173.56/121.12 (981) InductionCalculusProof [EQUIVALENT, 0 ms] 173.56/121.12 (982) QDP 173.56/121.12 (983) QDP 173.56/121.12 (984) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (985) QDP 173.56/121.12 (986) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (987) QDP 173.56/121.12 (988) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (989) QDP 173.56/121.12 (990) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (991) QDP 173.56/121.12 (992) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (993) QDP 173.56/121.12 (994) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (995) QDP 173.56/121.12 (996) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (997) QDP 173.56/121.12 (998) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (999) QDP 173.56/121.12 (1000) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1001) QDP 173.56/121.12 (1002) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1003) QDP 173.56/121.12 (1004) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1005) QDP 173.56/121.12 (1006) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1007) QDP 173.56/121.12 (1008) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1009) QDP 173.56/121.12 (1010) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1011) QDP 173.56/121.12 (1012) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1013) QDP 173.56/121.12 (1014) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1015) QDP 173.56/121.12 (1016) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1017) QDP 173.56/121.12 (1018) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1019) QDP 173.56/121.12 (1020) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1021) QDP 173.56/121.12 (1022) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1023) QDP 173.56/121.12 (1024) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1025) QDP 173.56/121.12 (1026) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1027) QDP 173.56/121.12 (1028) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1029) QDP 173.56/121.12 (1030) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1031) QDP 173.56/121.12 (1032) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1033) QDP 173.56/121.12 (1034) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1035) QDP 173.56/121.12 (1036) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1037) QDP 173.56/121.12 (1038) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1039) AND 173.56/121.12 (1040) QDP 173.56/121.12 (1041) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (1042) QDP 173.56/121.12 (1043) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (1044) QDP 173.56/121.12 (1045) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1046) QDP 173.56/121.12 (1047) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1048) QDP 173.56/121.12 (1049) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1050) QDP 173.56/121.12 (1051) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1052) QDP 173.56/121.12 (1053) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1054) QDP 173.56/121.12 (1055) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1056) QDP 173.56/121.12 (1057) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1058) QDP 173.56/121.12 (1059) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1060) QDP 173.56/121.12 (1061) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1062) QDP 173.56/121.12 (1063) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1064) QDP 173.56/121.12 (1065) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1066) QDP 173.56/121.12 (1067) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1068) QDP 173.56/121.12 (1069) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1070) QDP 173.56/121.12 (1071) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1072) QDP 173.56/121.12 (1073) QDPSizeChangeProof [EQUIVALENT, 0 ms] 173.56/121.12 (1074) YES 173.56/121.12 (1075) QDP 173.56/121.12 (1076) UsableRulesProof [EQUIVALENT, 0 ms] 173.56/121.12 (1077) QDP 173.56/121.12 (1078) QReductionProof [EQUIVALENT, 0 ms] 173.56/121.12 (1079) QDP 173.56/121.12 (1080) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1081) QDP 173.56/121.12 (1082) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1083) QDP 173.56/121.12 (1084) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1085) QDP 173.56/121.12 (1086) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1087) QDP 173.56/121.12 (1088) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1089) QDP 173.56/121.12 (1090) DependencyGraphProof [EQUIVALENT, 0 ms] 173.56/121.12 (1091) QDP 173.56/121.12 (1092) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1093) QDP 173.56/121.12 (1094) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1095) QDP 173.56/121.12 (1096) TransformationProof [EQUIVALENT, 0 ms] 173.56/121.12 (1097) QDP 173.56/121.12 (1098) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1099) QDP 175.84/121.78 (1100) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1101) QDP 175.84/121.78 (1102) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1103) QDP 175.84/121.78 (1104) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1105) QDP 175.84/121.78 (1106) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1107) QDP 175.84/121.78 (1108) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1109) QDP 175.84/121.78 (1110) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1111) QDP 175.84/121.78 (1112) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1113) QDP 175.84/121.78 (1114) QDPSizeChangeProof [EQUIVALENT, 0 ms] 175.84/121.78 (1115) YES 175.84/121.78 (1116) QDP 175.84/121.78 (1117) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1118) QDP 175.84/121.78 (1119) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1120) QDP 175.84/121.78 (1121) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1122) QDP 175.84/121.78 (1123) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1124) QDP 175.84/121.78 (1125) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1126) QDP 175.84/121.78 (1127) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1128) QDP 175.84/121.78 (1129) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1130) QDP 175.84/121.78 (1131) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1132) QDP 175.84/121.78 (1133) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1134) QDP 175.84/121.78 (1135) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1136) QDP 175.84/121.78 (1137) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1138) QDP 175.84/121.78 (1139) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1140) QDP 175.84/121.78 (1141) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1142) QDP 175.84/121.78 (1143) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1144) QDP 175.84/121.78 (1145) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1146) QDP 175.84/121.78 (1147) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1148) QDP 175.84/121.78 (1149) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1150) QDP 175.84/121.78 (1151) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1152) QDP 175.84/121.78 (1153) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1154) QDP 175.84/121.78 (1155) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1156) QDP 175.84/121.78 (1157) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1158) QDP 175.84/121.78 (1159) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1160) QDP 175.84/121.78 (1161) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1162) QDP 175.84/121.78 (1163) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1164) QDP 175.84/121.78 (1165) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1166) QDP 175.84/121.78 (1167) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1168) QDP 175.84/121.78 (1169) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1170) QDP 175.84/121.78 (1171) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1172) QDP 175.84/121.78 (1173) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1174) QDP 175.84/121.78 (1175) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1176) QDP 175.84/121.78 (1177) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1178) AND 175.84/121.78 (1179) QDP 175.84/121.78 (1180) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1181) QDP 175.84/121.78 (1182) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1183) QDP 175.84/121.78 (1184) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1185) QDP 175.84/121.78 (1186) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1187) QDP 175.84/121.78 (1188) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1189) QDP 175.84/121.78 (1190) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1191) QDP 175.84/121.78 (1192) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1193) QDP 175.84/121.78 (1194) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1195) QDP 175.84/121.78 (1196) InductionCalculusProof [EQUIVALENT, 0 ms] 175.84/121.78 (1197) QDP 175.84/121.78 (1198) QDP 175.84/121.78 (1199) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1200) QDP 175.84/121.78 (1201) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1202) QDP 175.84/121.78 (1203) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1204) QDP 175.84/121.78 (1205) InductionCalculusProof [EQUIVALENT, 0 ms] 175.84/121.78 (1206) QDP 175.84/121.78 (1207) QDP 175.84/121.78 (1208) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1209) QDP 175.84/121.78 (1210) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1211) QDP 175.84/121.78 (1212) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1213) QDP 175.84/121.78 (1214) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1215) QDP 175.84/121.78 (1216) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1217) QDP 175.84/121.78 (1218) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1219) QDP 175.84/121.78 (1220) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1221) QDP 175.84/121.78 (1222) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1223) QDP 175.84/121.78 (1224) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1225) QDP 175.84/121.78 (1226) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1227) QDP 175.84/121.78 (1228) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1229) QDP 175.84/121.78 (1230) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1231) QDP 175.84/121.78 (1232) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1233) QDP 175.84/121.78 (1234) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1235) QDP 175.84/121.78 (1236) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1237) QDP 175.84/121.78 (1238) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1239) QDP 175.84/121.78 (1240) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1241) QDP 175.84/121.78 (1242) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1243) QDP 175.84/121.78 (1244) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1245) QDP 175.84/121.78 (1246) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1247) QDP 175.84/121.78 (1248) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1249) AND 175.84/121.78 (1250) QDP 175.84/121.78 (1251) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1252) QDP 175.84/121.78 (1253) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1254) QDP 175.84/121.78 (1255) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1256) QDP 175.84/121.78 (1257) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1258) QDP 175.84/121.78 (1259) TransformationProof [EQUIVALENT, 0 ms] 175.84/121.78 (1260) QDP 175.84/121.78 (1261) InductionCalculusProof [EQUIVALENT, 0 ms] 175.84/121.78 (1262) QDP 175.84/121.78 (1263) QDP 175.84/121.78 (1264) UsableRulesProof [EQUIVALENT, 0 ms] 175.84/121.78 (1265) QDP 175.84/121.78 (1266) QDPOrderProof [EQUIVALENT, 487 ms] 175.84/121.78 (1267) QDP 175.84/121.78 (1268) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1269) TRUE 175.84/121.78 (1270) QDP 175.84/121.78 (1271) InductionCalculusProof [EQUIVALENT, 0 ms] 175.84/121.78 (1272) QDP 175.84/121.78 (1273) QDP 175.84/121.78 (1274) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1275) AND 175.84/121.78 (1276) QDP 175.84/121.78 (1277) MRRProof [EQUIVALENT, 0 ms] 175.84/121.78 (1278) QDP 175.84/121.78 (1279) PisEmptyProof [EQUIVALENT, 0 ms] 175.84/121.78 (1280) YES 175.84/121.78 (1281) QDP 175.84/121.78 (1282) QDPOrderProof [EQUIVALENT, 0 ms] 175.84/121.78 (1283) QDP 175.84/121.78 (1284) DependencyGraphProof [EQUIVALENT, 0 ms] 175.84/121.78 (1285) QDP 175.84/121.78 (1286) QDPSizeChangeProof [EQUIVALENT, 0 ms] 175.84/121.78 (1287) YES 175.84/121.78 (1288) QDP 175.84/121.78 (1289) QDPSizeChangeProof [EQUIVALENT, 0 ms] 175.84/121.78 (1290) YES 175.84/121.78 (1291) QDP 175.84/121.78 (1292) QDPSizeChangeProof [EQUIVALENT, 0 ms] 175.84/121.78 (1293) YES 175.84/121.78 (1294) QDP 175.84/121.78 (1295) QDPSizeChangeProof [EQUIVALENT, 0 ms] 175.84/121.78 (1296) YES 175.84/121.78 (1297) Narrow [COMPLETE, 0 ms] 175.84/121.78 (1298) TRUE 175.84/121.78 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (0) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (1) IFR (EQUIVALENT) 175.84/121.78 If Reductions: 175.84/121.78 The following If expression 175.84/121.78 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 175.84/121.78 is transformed to 175.84/121.78 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 175.84/121.78 primDivNatS0 x y False = Zero; 175.84/121.78 " 175.84/121.78 The following If expression 175.84/121.78 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 175.84/121.78 is transformed to 175.84/121.78 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 175.84/121.78 primModNatS0 x y False = Succ x; 175.84/121.78 " 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (2) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (3) BR (EQUIVALENT) 175.84/121.78 Replaced joker patterns by fresh variables and removed binding patterns. 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (4) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (5) COR (EQUIVALENT) 175.84/121.78 Cond Reductions: 175.84/121.78 The following Function with conditions 175.84/121.78 "absReal x|x >= 0x|otherwise`negate` x; 175.84/121.78 " 175.84/121.78 is transformed to 175.84/121.78 "absReal x = absReal2 x; 175.84/121.78 " 175.84/121.78 "absReal1 x True = x; 175.84/121.78 absReal1 x False = absReal0 x otherwise; 175.84/121.78 " 175.84/121.78 "absReal0 x True = `negate` x; 175.84/121.78 " 175.84/121.78 "absReal2 x = absReal1 x (x >= 0); 175.84/121.78 " 175.84/121.78 The following Function with conditions 175.84/121.78 "gcd' x 0 = x; 175.84/121.78 gcd' x y = gcd' y (x `rem` y); 175.84/121.78 " 175.84/121.78 is transformed to 175.84/121.78 "gcd' x xz = gcd'2 x xz; 175.84/121.78 gcd' x y = gcd'0 x y; 175.84/121.78 " 175.84/121.78 "gcd'0 x y = gcd' y (x `rem` y); 175.84/121.78 " 175.84/121.78 "gcd'1 True x xz = x; 175.84/121.78 gcd'1 yu yv yw = gcd'0 yv yw; 175.84/121.78 " 175.84/121.78 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 175.84/121.78 gcd'2 yx yy = gcd'0 yx yy; 175.84/121.78 " 175.84/121.78 The following Function with conditions 175.84/121.78 "gcd 0 0 = error []; 175.84/121.78 gcd x y = gcd' (abs x) (abs y) where { 175.84/121.78 gcd' x 0 = x; 175.84/121.78 gcd' x y = gcd' y (x `rem` y); 175.84/121.78 } 175.84/121.78 ; 175.84/121.78 " 175.84/121.78 is transformed to 175.84/121.78 "gcd yz zu = gcd3 yz zu; 175.84/121.78 gcd x y = gcd0 x y; 175.84/121.78 " 175.84/121.78 "gcd0 x y = gcd' (abs x) (abs y) where { 175.84/121.78 gcd' x xz = gcd'2 x xz; 175.84/121.78 gcd' x y = gcd'0 x y; 175.84/121.78 ; 175.84/121.78 gcd'0 x y = gcd' y (x `rem` y); 175.84/121.78 ; 175.84/121.78 gcd'1 True x xz = x; 175.84/121.78 gcd'1 yu yv yw = gcd'0 yv yw; 175.84/121.78 ; 175.84/121.78 gcd'2 x xz = gcd'1 (xz == 0) x xz; 175.84/121.78 gcd'2 yx yy = gcd'0 yx yy; 175.84/121.78 } 175.84/121.78 ; 175.84/121.78 " 175.84/121.78 "gcd1 True yz zu = error []; 175.84/121.78 gcd1 zv zw zx = gcd0 zw zx; 175.84/121.78 " 175.84/121.78 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 175.84/121.78 gcd2 zy zz vuu = gcd0 zz vuu; 175.84/121.78 " 175.84/121.78 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 175.84/121.78 gcd3 vuv vuw = gcd0 vuv vuw; 175.84/121.78 " 175.84/121.78 The following Function with conditions 175.84/121.78 "undefined |Falseundefined; 175.84/121.78 " 175.84/121.78 is transformed to 175.84/121.78 "undefined = undefined1; 175.84/121.78 " 175.84/121.78 "undefined0 True = undefined; 175.84/121.78 " 175.84/121.78 "undefined1 = undefined0 False; 175.84/121.78 " 175.84/121.78 The following Function with conditions 175.84/121.78 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 175.84/121.78 d = gcd x y; 175.84/121.78 } 175.84/121.78 ; 175.84/121.78 " 175.84/121.78 is transformed to 175.84/121.78 "reduce x y = reduce2 x y; 175.84/121.78 " 175.84/121.78 "reduce2 x y = reduce1 x y (y == 0) where { 175.84/121.78 d = gcd x y; 175.84/121.78 ; 175.84/121.78 reduce0 x y True = x `quot` d :% (y `quot` d); 175.84/121.78 ; 175.84/121.78 reduce1 x y True = error []; 175.84/121.78 reduce1 x y False = reduce0 x y otherwise; 175.84/121.78 } 175.84/121.78 ; 175.84/121.78 " 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (6) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (7) LetRed (EQUIVALENT) 175.84/121.78 Let/Where Reductions: 175.84/121.78 The bindings of the following Let/Where expression 175.84/121.78 "gcd' (abs x) (abs y) where { 175.84/121.78 gcd' x xz = gcd'2 x xz; 175.84/121.78 gcd' x y = gcd'0 x y; 175.84/121.78 ; 175.84/121.78 gcd'0 x y = gcd' y (x `rem` y); 175.84/121.78 ; 175.84/121.78 gcd'1 True x xz = x; 175.84/121.78 gcd'1 yu yv yw = gcd'0 yv yw; 175.84/121.78 ; 175.84/121.78 gcd'2 x xz = gcd'1 (xz == 0) x xz; 175.84/121.78 gcd'2 yx yy = gcd'0 yx yy; 175.84/121.78 } 175.84/121.78 " 175.84/121.78 are unpacked to the following functions on top level 175.84/121.78 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 175.84/121.78 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 175.84/121.78 " 175.84/121.78 "gcd0Gcd'1 True x xz = x; 175.84/121.78 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 175.84/121.78 " 175.84/121.78 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 175.84/121.78 gcd0Gcd' x y = gcd0Gcd'0 x y; 175.84/121.78 " 175.84/121.78 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 175.84/121.78 " 175.84/121.78 The bindings of the following Let/Where expression 175.84/121.78 "reduce1 x y (y == 0) where { 175.84/121.78 d = gcd x y; 175.84/121.78 ; 175.84/121.78 reduce0 x y True = x `quot` d :% (y `quot` d); 175.84/121.78 ; 175.84/121.78 reduce1 x y True = error []; 175.84/121.78 reduce1 x y False = reduce0 x y otherwise; 175.84/121.78 } 175.84/121.78 " 175.84/121.78 are unpacked to the following functions on top level 175.84/121.78 "reduce2D vux vuy = gcd vux vuy; 175.84/121.78 " 175.84/121.78 "reduce2Reduce1 vux vuy x y True = error []; 175.84/121.78 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 175.84/121.78 " 175.84/121.78 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 175.84/121.78 " 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (8) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (9) NumRed (SOUND) 175.84/121.78 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (10) 175.84/121.78 Obligation: 175.84/121.78 mainModule Main 175.84/121.78 module Main where { 175.84/121.78 import qualified Prelude; 175.84/121.78 } 175.84/121.78 175.84/121.78 ---------------------------------------- 175.84/121.78 175.84/121.78 (11) Narrow (SOUND) 175.84/121.78 Haskell To QDPs 175.84/121.78 175.84/121.78 digraph dp_graph { 175.84/121.78 node [outthreshold=100, inthreshold=100];1[label="sum",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 175.84/121.78 3[label="sum vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 175.84/121.78 4[label="foldl' (+) (fromInt (Pos Zero)) vuz3",fontsize=16,color="burlywood",shape="box"];3378[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3378[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3378 -> 5[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3379[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 3379[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3379 -> 6[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 5[label="foldl' (+) (fromInt (Pos Zero)) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 175.84/121.78 6[label="foldl' (+) (fromInt (Pos Zero)) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 175.84/121.78 7[label="(foldl' (+) $! (+) fromInt (Pos Zero) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 175.84/121.78 8[label="fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3380[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];8 -> 3380[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3380 -> 10[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3381[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];8 -> 3381[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3381 -> 11[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3382[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];8 -> 3382[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3382 -> 12[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3383[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];8 -> 3383[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3383 -> 13[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3384[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3384[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3384 -> 14[label="",style="solid", color="blue", weight=3]; 175.84/121.78 9[label="((+) fromInt (Pos Zero) vuz30 `seq` foldl' (+) ((+) fromInt (Pos Zero) vuz30))",fontsize=16,color="black",shape="box"];9 -> 15[label="",style="solid", color="black", weight=3]; 175.84/121.78 10[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];10 -> 16[label="",style="solid", color="black", weight=3]; 175.84/121.78 11[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];11 -> 17[label="",style="solid", color="black", weight=3]; 175.84/121.78 12[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];12 -> 18[label="",style="solid", color="black", weight=3]; 175.84/121.78 13[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];13 -> 19[label="",style="solid", color="black", weight=3]; 175.84/121.78 14[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];14 -> 20[label="",style="solid", color="black", weight=3]; 175.84/121.78 15 -> 21[label="",style="dashed", color="red", weight=0]; 175.84/121.78 15[label="enforceWHNF (WHNF ((+) fromInt (Pos Zero) vuz30)) (foldl' (+) ((+) fromInt (Pos Zero) vuz30)) vuz31",fontsize=16,color="magenta"];15 -> 22[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 15 -> 23[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 16[label="primIntToFloat (Pos Zero)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 175.84/121.78 17[label="primIntToDouble (Pos Zero)",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 175.84/121.78 18[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];19[label="Pos Zero",fontsize=16,color="green",shape="box"];20[label="intToRatio (Pos Zero)",fontsize=16,color="black",shape="box"];20 -> 26[label="",style="solid", color="black", weight=3]; 175.84/121.78 22[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="blue",shape="box"];3385[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];22 -> 3385[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3385 -> 27[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3386[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];22 -> 3386[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3386 -> 28[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3387[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];22 -> 3387[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3387 -> 29[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3388[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];22 -> 3388[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3388 -> 30[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3389[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];22 -> 3389[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3389 -> 31[label="",style="solid", color="blue", weight=3]; 175.84/121.78 23[label="vuz31",fontsize=16,color="green",shape="box"];21[label="enforceWHNF (WHNF vuz7) (foldl' (+) vuz7) vuz8",fontsize=16,color="black",shape="triangle"];21 -> 32[label="",style="solid", color="black", weight=3]; 175.84/121.78 24[label="Float (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];25[label="Double (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26[label="fromInt (Pos Zero) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26 -> 33[label="",style="dashed", color="green", weight=3]; 175.84/121.78 26 -> 34[label="",style="dashed", color="green", weight=3]; 175.84/121.78 27 -> 35[label="",style="dashed", color="red", weight=0]; 175.84/121.78 27[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 28 -> 37[label="",style="dashed", color="red", weight=0]; 175.84/121.78 28[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];28 -> 38[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 29 -> 39[label="",style="dashed", color="red", weight=0]; 175.84/121.78 29[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];29 -> 40[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 30 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.78 30[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];30 -> 42[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 31 -> 43[label="",style="dashed", color="red", weight=0]; 175.84/121.78 31[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];31 -> 44[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 32[label="foldl' (+) vuz7 vuz8",fontsize=16,color="burlywood",shape="box"];3390[label="vuz8/vuz80 : vuz81",fontsize=10,color="white",style="solid",shape="box"];32 -> 3390[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3390 -> 45[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3391[label="vuz8/[]",fontsize=10,color="white",style="solid",shape="box"];32 -> 3391[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3391 -> 46[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 33[label="fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3392[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];33 -> 3392[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3392 -> 47[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3393[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];33 -> 3393[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3393 -> 48[label="",style="solid", color="blue", weight=3]; 175.84/121.78 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];3394[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];34 -> 3394[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3394 -> 49[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3395[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];34 -> 3395[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3395 -> 50[label="",style="solid", color="blue", weight=3]; 175.84/121.78 36 -> 10[label="",style="dashed", color="red", weight=0]; 175.84/121.78 36[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];35[label="(+) vuz9 vuz30",fontsize=16,color="black",shape="triangle"];35 -> 51[label="",style="solid", color="black", weight=3]; 175.84/121.78 38 -> 11[label="",style="dashed", color="red", weight=0]; 175.84/121.78 38[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];37[label="(+) vuz10 vuz30",fontsize=16,color="black",shape="triangle"];37 -> 52[label="",style="solid", color="black", weight=3]; 175.84/121.78 40 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.78 40[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];39[label="(+) vuz11 vuz30",fontsize=16,color="burlywood",shape="triangle"];3396[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];39 -> 3396[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3396 -> 53[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 42 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.78 42[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];41[label="(+) vuz12 vuz30",fontsize=16,color="black",shape="triangle"];41 -> 54[label="",style="solid", color="black", weight=3]; 175.84/121.78 44 -> 14[label="",style="dashed", color="red", weight=0]; 175.84/121.78 44[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];43[label="(+) vuz13 vuz30",fontsize=16,color="burlywood",shape="triangle"];3397[label="vuz13/vuz130 :% vuz131",fontsize=10,color="white",style="solid",shape="box"];43 -> 3397[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3397 -> 55[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 45[label="foldl' (+) vuz7 (vuz80 : vuz81)",fontsize=16,color="black",shape="box"];45 -> 56[label="",style="solid", color="black", weight=3]; 175.84/121.78 46[label="foldl' (+) vuz7 []",fontsize=16,color="black",shape="box"];46 -> 57[label="",style="solid", color="black", weight=3]; 175.84/121.78 47 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.78 47[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];48 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.78 48[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];49[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];49 -> 58[label="",style="solid", color="black", weight=3]; 175.84/121.78 50[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];50 -> 59[label="",style="solid", color="black", weight=3]; 175.84/121.78 51[label="primPlusFloat vuz9 vuz30",fontsize=16,color="burlywood",shape="box"];3398[label="vuz9/Float vuz90 vuz91",fontsize=10,color="white",style="solid",shape="box"];51 -> 3398[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3398 -> 60[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 52[label="primPlusDouble vuz10 vuz30",fontsize=16,color="burlywood",shape="box"];3399[label="vuz10/Double vuz100 vuz101",fontsize=10,color="white",style="solid",shape="box"];52 -> 3399[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3399 -> 61[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 53[label="(+) Integer vuz110 vuz30",fontsize=16,color="burlywood",shape="box"];3400[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];53 -> 3400[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3400 -> 62[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 54[label="primPlusInt vuz12 vuz30",fontsize=16,color="burlywood",shape="triangle"];3401[label="vuz12/Pos vuz120",fontsize=10,color="white",style="solid",shape="box"];54 -> 3401[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3401 -> 63[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3402[label="vuz12/Neg vuz120",fontsize=10,color="white",style="solid",shape="box"];54 -> 3402[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3402 -> 64[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 55[label="(+) vuz130 :% vuz131 vuz30",fontsize=16,color="burlywood",shape="box"];3403[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];55 -> 3403[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3403 -> 65[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 56[label="(foldl' (+) $! (+) vuz7 vuz80)",fontsize=16,color="black",shape="box"];56 -> 66[label="",style="solid", color="black", weight=3]; 175.84/121.78 57[label="vuz7",fontsize=16,color="green",shape="box"];58[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];59[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];60[label="primPlusFloat (Float vuz90 vuz91) vuz30",fontsize=16,color="burlywood",shape="box"];3404[label="vuz30/Float vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];60 -> 3404[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3404 -> 67[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 61[label="primPlusDouble (Double vuz100 vuz101) vuz30",fontsize=16,color="burlywood",shape="box"];3405[label="vuz30/Double vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];61 -> 3405[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3405 -> 68[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 62[label="(+) Integer vuz110 Integer vuz300",fontsize=16,color="black",shape="box"];62 -> 69[label="",style="solid", color="black", weight=3]; 175.84/121.78 63[label="primPlusInt (Pos vuz120) vuz30",fontsize=16,color="burlywood",shape="box"];3406[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 3406[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3406 -> 70[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3407[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 3407[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3407 -> 71[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 64[label="primPlusInt (Neg vuz120) vuz30",fontsize=16,color="burlywood",shape="box"];3408[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];64 -> 3408[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3408 -> 72[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3409[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];64 -> 3409[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3409 -> 73[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 65[label="(+) vuz130 :% vuz131 vuz300 :% vuz301",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 175.84/121.78 66[label="((+) vuz7 vuz80 `seq` foldl' (+) ((+) vuz7 vuz80))",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 175.84/121.78 67[label="primPlusFloat (Float vuz90 vuz91) (Float vuz300 vuz301)",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 175.84/121.78 68[label="primPlusDouble (Double vuz100 vuz101) (Double vuz300 vuz301)",fontsize=16,color="black",shape="box"];68 -> 77[label="",style="solid", color="black", weight=3]; 175.84/121.78 69[label="Integer (primPlusInt vuz110 vuz300)",fontsize=16,color="green",shape="box"];69 -> 78[label="",style="dashed", color="green", weight=3]; 175.84/121.78 70[label="primPlusInt (Pos vuz120) (Pos vuz300)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 175.84/121.78 71[label="primPlusInt (Pos vuz120) (Neg vuz300)",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 175.84/121.78 72[label="primPlusInt (Neg vuz120) (Pos vuz300)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 175.84/121.78 73[label="primPlusInt (Neg vuz120) (Neg vuz300)",fontsize=16,color="black",shape="box"];73 -> 82[label="",style="solid", color="black", weight=3]; 175.84/121.78 74[label="reduce (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301)",fontsize=16,color="black",shape="box"];74 -> 83[label="",style="solid", color="black", weight=3]; 175.84/121.78 75 -> 21[label="",style="dashed", color="red", weight=0]; 175.84/121.78 75[label="enforceWHNF (WHNF ((+) vuz7 vuz80)) (foldl' (+) ((+) vuz7 vuz80)) vuz81",fontsize=16,color="magenta"];75 -> 84[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 75 -> 85[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 76[label="Float (vuz90 * vuz301 + vuz300 * vuz91) (vuz91 * vuz301)",fontsize=16,color="green",shape="box"];76 -> 86[label="",style="dashed", color="green", weight=3]; 175.84/121.78 76 -> 87[label="",style="dashed", color="green", weight=3]; 175.84/121.78 77[label="Double (vuz100 * vuz301 + vuz300 * vuz101) (vuz101 * vuz301)",fontsize=16,color="green",shape="box"];77 -> 88[label="",style="dashed", color="green", weight=3]; 175.84/121.78 77 -> 89[label="",style="dashed", color="green", weight=3]; 175.84/121.78 78 -> 54[label="",style="dashed", color="red", weight=0]; 175.84/121.78 78[label="primPlusInt vuz110 vuz300",fontsize=16,color="magenta"];78 -> 90[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 78 -> 91[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 79[label="Pos (primPlusNat vuz120 vuz300)",fontsize=16,color="green",shape="box"];79 -> 92[label="",style="dashed", color="green", weight=3]; 175.84/121.78 80[label="primMinusNat vuz120 vuz300",fontsize=16,color="burlywood",shape="triangle"];3410[label="vuz120/Succ vuz1200",fontsize=10,color="white",style="solid",shape="box"];80 -> 3410[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3410 -> 93[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3411[label="vuz120/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 3411[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3411 -> 94[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 81 -> 80[label="",style="dashed", color="red", weight=0]; 175.84/121.78 81[label="primMinusNat vuz300 vuz120",fontsize=16,color="magenta"];81 -> 95[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 81 -> 96[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 82[label="Neg (primPlusNat vuz120 vuz300)",fontsize=16,color="green",shape="box"];82 -> 97[label="",style="dashed", color="green", weight=3]; 175.84/121.78 83[label="reduce2 (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301)",fontsize=16,color="black",shape="box"];83 -> 98[label="",style="solid", color="black", weight=3]; 175.84/121.78 84[label="(+) vuz7 vuz80",fontsize=16,color="blue",shape="box"];3412[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];84 -> 3412[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3412 -> 99[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3413[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];84 -> 3413[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3413 -> 100[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3414[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];84 -> 3414[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3414 -> 101[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3415[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];84 -> 3415[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3415 -> 102[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3416[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];84 -> 3416[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3416 -> 103[label="",style="solid", color="blue", weight=3]; 175.84/121.78 85[label="vuz81",fontsize=16,color="green",shape="box"];86 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.78 86[label="vuz90 * vuz301 + vuz300 * vuz91",fontsize=16,color="magenta"];86 -> 104[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 86 -> 105[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 87[label="vuz91 * vuz301",fontsize=16,color="black",shape="triangle"];87 -> 106[label="",style="solid", color="black", weight=3]; 175.84/121.78 88 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.78 88[label="vuz100 * vuz301 + vuz300 * vuz101",fontsize=16,color="magenta"];88 -> 107[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 88 -> 108[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 89 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 89[label="vuz101 * vuz301",fontsize=16,color="magenta"];89 -> 109[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 89 -> 110[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 90[label="vuz300",fontsize=16,color="green",shape="box"];91[label="vuz110",fontsize=16,color="green",shape="box"];92[label="primPlusNat vuz120 vuz300",fontsize=16,color="burlywood",shape="triangle"];3417[label="vuz120/Succ vuz1200",fontsize=10,color="white",style="solid",shape="box"];92 -> 3417[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3417 -> 111[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3418[label="vuz120/Zero",fontsize=10,color="white",style="solid",shape="box"];92 -> 3418[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3418 -> 112[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 93[label="primMinusNat (Succ vuz1200) vuz300",fontsize=16,color="burlywood",shape="box"];3419[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3419[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3419 -> 113[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3420[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3420[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3420 -> 114[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 94[label="primMinusNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];3421[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];94 -> 3421[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3421 -> 115[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3422[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];94 -> 3422[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3422 -> 116[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 95[label="vuz300",fontsize=16,color="green",shape="box"];96[label="vuz120",fontsize=16,color="green",shape="box"];97 -> 92[label="",style="dashed", color="red", weight=0]; 175.84/121.78 97[label="primPlusNat vuz120 vuz300",fontsize=16,color="magenta"];97 -> 117[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 97 -> 118[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 98 -> 119[label="",style="dashed", color="red", weight=0]; 175.84/121.78 98[label="reduce2Reduce1 (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301) (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301) (vuz131 * vuz301 == fromInt (Pos Zero))",fontsize=16,color="magenta"];98 -> 120[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 98 -> 121[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 98 -> 122[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 98 -> 123[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 98 -> 124[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 99 -> 35[label="",style="dashed", color="red", weight=0]; 175.84/121.78 99[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];99 -> 125[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 99 -> 126[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 100 -> 37[label="",style="dashed", color="red", weight=0]; 175.84/121.78 100[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 100 -> 128[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 101 -> 39[label="",style="dashed", color="red", weight=0]; 175.84/121.78 101[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];101 -> 129[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 101 -> 130[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 102 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.78 102[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];102 -> 131[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 102 -> 132[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 103 -> 43[label="",style="dashed", color="red", weight=0]; 175.84/121.78 103[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];103 -> 133[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 103 -> 134[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 104 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 104[label="vuz300 * vuz91",fontsize=16,color="magenta"];104 -> 135[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 104 -> 136[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 105 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 105[label="vuz90 * vuz301",fontsize=16,color="magenta"];105 -> 137[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 106[label="primMulInt vuz91 vuz301",fontsize=16,color="burlywood",shape="triangle"];3423[label="vuz91/Pos vuz910",fontsize=10,color="white",style="solid",shape="box"];106 -> 3423[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3423 -> 138[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3424[label="vuz91/Neg vuz910",fontsize=10,color="white",style="solid",shape="box"];106 -> 3424[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3424 -> 139[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 107 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 107[label="vuz300 * vuz101",fontsize=16,color="magenta"];107 -> 140[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 107 -> 141[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 108 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 108[label="vuz100 * vuz301",fontsize=16,color="magenta"];108 -> 142[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 108 -> 143[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 109[label="vuz301",fontsize=16,color="green",shape="box"];110[label="vuz101",fontsize=16,color="green",shape="box"];111[label="primPlusNat (Succ vuz1200) vuz300",fontsize=16,color="burlywood",shape="box"];3425[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];111 -> 3425[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3425 -> 144[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3426[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];111 -> 3426[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3426 -> 145[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 112[label="primPlusNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];3427[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];112 -> 3427[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3427 -> 146[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3428[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];112 -> 3428[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3428 -> 147[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 113[label="primMinusNat (Succ vuz1200) (Succ vuz3000)",fontsize=16,color="black",shape="box"];113 -> 148[label="",style="solid", color="black", weight=3]; 175.84/121.78 114[label="primMinusNat (Succ vuz1200) Zero",fontsize=16,color="black",shape="box"];114 -> 149[label="",style="solid", color="black", weight=3]; 175.84/121.78 115[label="primMinusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];115 -> 150[label="",style="solid", color="black", weight=3]; 175.84/121.78 116[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];116 -> 151[label="",style="solid", color="black", weight=3]; 175.84/121.78 117[label="vuz120",fontsize=16,color="green",shape="box"];118[label="vuz300",fontsize=16,color="green",shape="box"];120[label="vuz301",fontsize=16,color="green",shape="box"];121[label="vuz131",fontsize=16,color="green",shape="box"];122[label="vuz130",fontsize=16,color="green",shape="box"];123[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3429[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];123 -> 3429[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3429 -> 152[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3430[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];123 -> 3430[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3430 -> 153[label="",style="solid", color="blue", weight=3]; 175.84/121.78 124[label="vuz300",fontsize=16,color="green",shape="box"];119[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];3431[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];119 -> 3431[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3431 -> 154[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3432[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];119 -> 3432[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3432 -> 155[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 125[label="vuz7",fontsize=16,color="green",shape="box"];126[label="vuz80",fontsize=16,color="green",shape="box"];127[label="vuz80",fontsize=16,color="green",shape="box"];128[label="vuz7",fontsize=16,color="green",shape="box"];129[label="vuz7",fontsize=16,color="green",shape="box"];130[label="vuz80",fontsize=16,color="green",shape="box"];131[label="vuz80",fontsize=16,color="green",shape="box"];132[label="vuz7",fontsize=16,color="green",shape="box"];133[label="vuz80",fontsize=16,color="green",shape="box"];134[label="vuz7",fontsize=16,color="green",shape="box"];135[label="vuz91",fontsize=16,color="green",shape="box"];136[label="vuz300",fontsize=16,color="green",shape="box"];137[label="vuz90",fontsize=16,color="green",shape="box"];138[label="primMulInt (Pos vuz910) vuz301",fontsize=16,color="burlywood",shape="box"];3433[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];138 -> 3433[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3433 -> 156[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3434[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];138 -> 3434[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3434 -> 157[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 139[label="primMulInt (Neg vuz910) vuz301",fontsize=16,color="burlywood",shape="box"];3435[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];139 -> 3435[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3435 -> 158[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3436[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];139 -> 3436[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3436 -> 159[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 140[label="vuz101",fontsize=16,color="green",shape="box"];141[label="vuz300",fontsize=16,color="green",shape="box"];142[label="vuz301",fontsize=16,color="green",shape="box"];143[label="vuz100",fontsize=16,color="green",shape="box"];144[label="primPlusNat (Succ vuz1200) (Succ vuz3000)",fontsize=16,color="black",shape="box"];144 -> 160[label="",style="solid", color="black", weight=3]; 175.84/121.78 145[label="primPlusNat (Succ vuz1200) Zero",fontsize=16,color="black",shape="box"];145 -> 161[label="",style="solid", color="black", weight=3]; 175.84/121.78 146[label="primPlusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];146 -> 162[label="",style="solid", color="black", weight=3]; 175.84/121.78 147[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 163[label="",style="solid", color="black", weight=3]; 175.84/121.78 148 -> 80[label="",style="dashed", color="red", weight=0]; 175.84/121.78 148[label="primMinusNat vuz1200 vuz3000",fontsize=16,color="magenta"];148 -> 164[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 148 -> 165[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 149[label="Pos (Succ vuz1200)",fontsize=16,color="green",shape="box"];150[label="Neg (Succ vuz3000)",fontsize=16,color="green",shape="box"];151[label="Pos Zero",fontsize=16,color="green",shape="box"];152 -> 166[label="",style="dashed", color="red", weight=0]; 175.84/121.78 152[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];152 -> 167[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 153 -> 168[label="",style="dashed", color="red", weight=0]; 175.84/121.78 153[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];153 -> 169[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 153 -> 170[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 154[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];154 -> 171[label="",style="solid", color="black", weight=3]; 175.84/121.78 155[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];155 -> 172[label="",style="solid", color="black", weight=3]; 175.84/121.78 156[label="primMulInt (Pos vuz910) (Pos vuz3010)",fontsize=16,color="black",shape="box"];156 -> 173[label="",style="solid", color="black", weight=3]; 175.84/121.78 157[label="primMulInt (Pos vuz910) (Neg vuz3010)",fontsize=16,color="black",shape="box"];157 -> 174[label="",style="solid", color="black", weight=3]; 175.84/121.78 158[label="primMulInt (Neg vuz910) (Pos vuz3010)",fontsize=16,color="black",shape="box"];158 -> 175[label="",style="solid", color="black", weight=3]; 175.84/121.78 159[label="primMulInt (Neg vuz910) (Neg vuz3010)",fontsize=16,color="black",shape="box"];159 -> 176[label="",style="solid", color="black", weight=3]; 175.84/121.78 160[label="Succ (Succ (primPlusNat vuz1200 vuz3000))",fontsize=16,color="green",shape="box"];160 -> 177[label="",style="dashed", color="green", weight=3]; 175.84/121.78 161[label="Succ vuz1200",fontsize=16,color="green",shape="box"];162[label="Succ vuz3000",fontsize=16,color="green",shape="box"];163[label="Zero",fontsize=16,color="green",shape="box"];164[label="vuz1200",fontsize=16,color="green",shape="box"];165[label="vuz3000",fontsize=16,color="green",shape="box"];167 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.78 167[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];166[label="vuz131 * vuz301 == vuz25",fontsize=16,color="burlywood",shape="triangle"];3437[label="vuz131/Integer vuz1310",fontsize=10,color="white",style="solid",shape="box"];166 -> 3437[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3437 -> 178[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 169 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.78 169[label="vuz131 * vuz301",fontsize=16,color="magenta"];169 -> 179[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 169 -> 180[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 170 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.78 170[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];168[label="vuz27 == vuz26",fontsize=16,color="black",shape="triangle"];168 -> 181[label="",style="solid", color="black", weight=3]; 175.84/121.78 171[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];171 -> 182[label="",style="solid", color="black", weight=3]; 175.84/121.78 172[label="error []",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 175.84/121.78 173[label="Pos (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];173 -> 184[label="",style="dashed", color="green", weight=3]; 175.84/121.78 174[label="Neg (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];174 -> 185[label="",style="dashed", color="green", weight=3]; 175.84/121.78 175[label="Neg (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];175 -> 186[label="",style="dashed", color="green", weight=3]; 175.84/121.78 176[label="Pos (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];176 -> 187[label="",style="dashed", color="green", weight=3]; 175.84/121.78 177 -> 92[label="",style="dashed", color="red", weight=0]; 175.84/121.78 177[label="primPlusNat vuz1200 vuz3000",fontsize=16,color="magenta"];177 -> 188[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 177 -> 189[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 178[label="Integer vuz1310 * vuz301 == vuz25",fontsize=16,color="burlywood",shape="box"];3438[label="vuz301/Integer vuz3010",fontsize=10,color="white",style="solid",shape="box"];178 -> 3438[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3438 -> 190[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 179[label="vuz301",fontsize=16,color="green",shape="box"];180[label="vuz131",fontsize=16,color="green",shape="box"];181[label="primEqInt vuz27 vuz26",fontsize=16,color="burlywood",shape="triangle"];3439[label="vuz27/Pos vuz270",fontsize=10,color="white",style="solid",shape="box"];181 -> 3439[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3439 -> 191[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3440[label="vuz27/Neg vuz270",fontsize=10,color="white",style="solid",shape="box"];181 -> 3440[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3440 -> 192[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 182[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];182 -> 193[label="",style="solid", color="black", weight=3]; 175.84/121.78 183[label="error []",fontsize=16,color="red",shape="box"];184[label="primMulNat vuz910 vuz3010",fontsize=16,color="burlywood",shape="triangle"];3441[label="vuz910/Succ vuz9100",fontsize=10,color="white",style="solid",shape="box"];184 -> 3441[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3441 -> 194[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3442[label="vuz910/Zero",fontsize=10,color="white",style="solid",shape="box"];184 -> 3442[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3442 -> 195[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 185 -> 184[label="",style="dashed", color="red", weight=0]; 175.84/121.78 185[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];185 -> 196[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 186 -> 184[label="",style="dashed", color="red", weight=0]; 175.84/121.78 186[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];186 -> 197[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 187 -> 184[label="",style="dashed", color="red", weight=0]; 175.84/121.78 187[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];187 -> 198[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 187 -> 199[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 188[label="vuz1200",fontsize=16,color="green",shape="box"];189[label="vuz3000",fontsize=16,color="green",shape="box"];190[label="Integer vuz1310 * Integer vuz3010 == vuz25",fontsize=16,color="black",shape="box"];190 -> 200[label="",style="solid", color="black", weight=3]; 175.84/121.78 191[label="primEqInt (Pos vuz270) vuz26",fontsize=16,color="burlywood",shape="box"];3443[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];191 -> 3443[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3443 -> 201[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3444[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3444[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3444 -> 202[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 192[label="primEqInt (Neg vuz270) vuz26",fontsize=16,color="burlywood",shape="box"];3445[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];192 -> 3445[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3445 -> 203[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3446[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3446[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3446 -> 204[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 193[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];193 -> 205[label="",style="dashed", color="green", weight=3]; 175.84/121.78 193 -> 206[label="",style="dashed", color="green", weight=3]; 175.84/121.78 194[label="primMulNat (Succ vuz9100) vuz3010",fontsize=16,color="burlywood",shape="box"];3447[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];194 -> 3447[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3447 -> 207[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3448[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];194 -> 3448[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3448 -> 208[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 195[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];3449[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];195 -> 3449[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3449 -> 209[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3450[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];195 -> 3450[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3450 -> 210[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 196[label="vuz3010",fontsize=16,color="green",shape="box"];197[label="vuz910",fontsize=16,color="green",shape="box"];198[label="vuz910",fontsize=16,color="green",shape="box"];199[label="vuz3010",fontsize=16,color="green",shape="box"];200 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.78 200[label="Integer (primMulInt vuz1310 vuz3010) == vuz25",fontsize=16,color="magenta"];200 -> 212[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 201[label="primEqInt (Pos (Succ vuz2700)) vuz26",fontsize=16,color="burlywood",shape="box"];3451[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];201 -> 3451[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3451 -> 213[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3452[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];201 -> 3452[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3452 -> 214[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 202[label="primEqInt (Pos Zero) vuz26",fontsize=16,color="burlywood",shape="box"];3453[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];202 -> 3453[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3453 -> 215[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3454[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];202 -> 3454[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3454 -> 216[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 203[label="primEqInt (Neg (Succ vuz2700)) vuz26",fontsize=16,color="burlywood",shape="box"];3455[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];203 -> 3455[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3455 -> 217[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3456[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];203 -> 3456[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3456 -> 218[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 204[label="primEqInt (Neg Zero) vuz26",fontsize=16,color="burlywood",shape="box"];3457[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];204 -> 3457[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3457 -> 219[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3458[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];204 -> 3458[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3458 -> 220[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 205[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];3459[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];205 -> 3459[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3459 -> 221[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3460[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];205 -> 3460[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3460 -> 222[label="",style="solid", color="blue", weight=3]; 175.84/121.78 206[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];3461[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];206 -> 3461[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3461 -> 223[label="",style="solid", color="blue", weight=3]; 175.84/121.78 3462[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];206 -> 3462[label="",style="solid", color="blue", weight=9]; 175.84/121.78 3462 -> 224[label="",style="solid", color="blue", weight=3]; 175.84/121.78 207[label="primMulNat (Succ vuz9100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];207 -> 225[label="",style="solid", color="black", weight=3]; 175.84/121.78 208[label="primMulNat (Succ vuz9100) Zero",fontsize=16,color="black",shape="box"];208 -> 226[label="",style="solid", color="black", weight=3]; 175.84/121.78 209[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];209 -> 227[label="",style="solid", color="black", weight=3]; 175.84/121.78 210[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];210 -> 228[label="",style="solid", color="black", weight=3]; 175.84/121.78 212 -> 106[label="",style="dashed", color="red", weight=0]; 175.84/121.78 212[label="primMulInt vuz1310 vuz3010",fontsize=16,color="magenta"];212 -> 229[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 212 -> 230[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 211[label="Integer vuz28 == vuz25",fontsize=16,color="burlywood",shape="triangle"];3463[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];211 -> 3463[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3463 -> 231[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 213[label="primEqInt (Pos (Succ vuz2700)) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3464[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];213 -> 3464[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3464 -> 232[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3465[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];213 -> 3465[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3465 -> 233[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 214[label="primEqInt (Pos (Succ vuz2700)) (Neg vuz260)",fontsize=16,color="black",shape="box"];214 -> 234[label="",style="solid", color="black", weight=3]; 175.84/121.78 215[label="primEqInt (Pos Zero) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3466[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];215 -> 3466[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3466 -> 235[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3467[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];215 -> 3467[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3467 -> 236[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 216[label="primEqInt (Pos Zero) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3468[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];216 -> 3468[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3468 -> 237[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3469[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];216 -> 3469[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3469 -> 238[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 217[label="primEqInt (Neg (Succ vuz2700)) (Pos vuz260)",fontsize=16,color="black",shape="box"];217 -> 239[label="",style="solid", color="black", weight=3]; 175.84/121.78 218[label="primEqInt (Neg (Succ vuz2700)) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3470[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];218 -> 3470[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3470 -> 240[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3471[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];218 -> 3471[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3471 -> 241[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 219[label="primEqInt (Neg Zero) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3472[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];219 -> 3472[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3472 -> 242[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3473[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];219 -> 3473[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3473 -> 243[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 220[label="primEqInt (Neg Zero) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3474[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];220 -> 3474[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3474 -> 244[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 3475[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];220 -> 3475[label="",style="solid", color="burlywood", weight=9]; 175.84/121.78 3475 -> 245[label="",style="solid", color="burlywood", weight=3]; 175.84/121.78 221 -> 246[label="",style="dashed", color="red", weight=0]; 175.84/121.78 221[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];221 -> 247[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 221 -> 248[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 221 -> 249[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 222 -> 253[label="",style="dashed", color="red", weight=0]; 175.84/121.78 222[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];222 -> 254[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 222 -> 255[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 223 -> 246[label="",style="dashed", color="red", weight=0]; 175.84/121.78 223[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];223 -> 250[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 223 -> 251[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 223 -> 252[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 224 -> 253[label="",style="dashed", color="red", weight=0]; 175.84/121.78 224[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];224 -> 256[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 224 -> 257[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 225 -> 92[label="",style="dashed", color="red", weight=0]; 175.84/121.78 225[label="primPlusNat (primMulNat vuz9100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];225 -> 258[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 225 -> 259[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 226[label="Zero",fontsize=16,color="green",shape="box"];227[label="Zero",fontsize=16,color="green",shape="box"];228[label="Zero",fontsize=16,color="green",shape="box"];229[label="vuz3010",fontsize=16,color="green",shape="box"];230[label="vuz1310",fontsize=16,color="green",shape="box"];231[label="Integer vuz28 == Integer vuz250",fontsize=16,color="black",shape="box"];231 -> 260[label="",style="solid", color="black", weight=3]; 175.84/121.78 232[label="primEqInt (Pos (Succ vuz2700)) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];232 -> 261[label="",style="solid", color="black", weight=3]; 175.84/121.78 233[label="primEqInt (Pos (Succ vuz2700)) (Pos Zero)",fontsize=16,color="black",shape="box"];233 -> 262[label="",style="solid", color="black", weight=3]; 175.84/121.78 234[label="False",fontsize=16,color="green",shape="box"];235[label="primEqInt (Pos Zero) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];235 -> 263[label="",style="solid", color="black", weight=3]; 175.84/121.78 236[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];236 -> 264[label="",style="solid", color="black", weight=3]; 175.84/121.78 237[label="primEqInt (Pos Zero) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];237 -> 265[label="",style="solid", color="black", weight=3]; 175.84/121.78 238[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];238 -> 266[label="",style="solid", color="black", weight=3]; 175.84/121.78 239[label="False",fontsize=16,color="green",shape="box"];240[label="primEqInt (Neg (Succ vuz2700)) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];240 -> 267[label="",style="solid", color="black", weight=3]; 175.84/121.78 241[label="primEqInt (Neg (Succ vuz2700)) (Neg Zero)",fontsize=16,color="black",shape="box"];241 -> 268[label="",style="solid", color="black", weight=3]; 175.84/121.78 242[label="primEqInt (Neg Zero) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];242 -> 269[label="",style="solid", color="black", weight=3]; 175.84/121.78 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];243 -> 270[label="",style="solid", color="black", weight=3]; 175.84/121.78 244[label="primEqInt (Neg Zero) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];244 -> 271[label="",style="solid", color="black", weight=3]; 175.84/121.78 245[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];245 -> 272[label="",style="solid", color="black", weight=3]; 175.84/121.78 247 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.78 247[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];247 -> 273[label="",style="dashed", color="magenta", weight=3]; 175.84/121.78 247 -> 274[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 248 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.79 248[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];248 -> 275[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 248 -> 276[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 249 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 249[label="vuz23 * vuz21",fontsize=16,color="magenta"];249 -> 277[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 249 -> 278[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 246[label="vuz29 `quot` reduce2D vuz31 vuz30",fontsize=16,color="black",shape="triangle"];246 -> 279[label="",style="solid", color="black", weight=3]; 175.84/121.79 254 -> 39[label="",style="dashed", color="red", weight=0]; 175.84/121.79 254[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];254 -> 280[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 254 -> 281[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 255 -> 39[label="",style="dashed", color="red", weight=0]; 175.84/121.79 255[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];255 -> 282[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 255 -> 283[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 253[label="vuz36 `quot` reduce2D vuz37 (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="triangle"];3476[label="vuz36/Integer vuz360",fontsize=10,color="white",style="solid",shape="box"];253 -> 3476[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3476 -> 284[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 250 -> 41[label="",style="dashed", color="red", weight=0]; 175.84/121.79 250[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];250 -> 285[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 250 -> 286[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 251 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 251[label="vuz23 * vuz21",fontsize=16,color="magenta"];251 -> 287[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 251 -> 288[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 252 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 252[label="vuz23 * vuz21",fontsize=16,color="magenta"];252 -> 289[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 252 -> 290[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 256 -> 39[label="",style="dashed", color="red", weight=0]; 175.84/121.79 256[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];256 -> 291[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 256 -> 292[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 257[label="vuz23 * vuz21",fontsize=16,color="burlywood",shape="triangle"];3477[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];257 -> 3477[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3477 -> 293[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 258 -> 184[label="",style="dashed", color="red", weight=0]; 175.84/121.79 258[label="primMulNat vuz9100 (Succ vuz30100)",fontsize=16,color="magenta"];258 -> 294[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 258 -> 295[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 259[label="Succ vuz30100",fontsize=16,color="green",shape="box"];260 -> 181[label="",style="dashed", color="red", weight=0]; 175.84/121.79 260[label="primEqInt vuz28 vuz250",fontsize=16,color="magenta"];260 -> 296[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 260 -> 297[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 261[label="primEqNat vuz2700 vuz2600",fontsize=16,color="burlywood",shape="triangle"];3478[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];261 -> 3478[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3478 -> 298[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3479[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];261 -> 3479[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3479 -> 299[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 262[label="False",fontsize=16,color="green",shape="box"];263[label="False",fontsize=16,color="green",shape="box"];264[label="True",fontsize=16,color="green",shape="box"];265[label="False",fontsize=16,color="green",shape="box"];266[label="True",fontsize=16,color="green",shape="box"];267 -> 261[label="",style="dashed", color="red", weight=0]; 175.84/121.79 267[label="primEqNat vuz2700 vuz2600",fontsize=16,color="magenta"];267 -> 300[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 267 -> 301[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 268[label="False",fontsize=16,color="green",shape="box"];269[label="False",fontsize=16,color="green",shape="box"];270[label="True",fontsize=16,color="green",shape="box"];271[label="False",fontsize=16,color="green",shape="box"];272[label="True",fontsize=16,color="green",shape="box"];273 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 273[label="vuz22 * vuz23",fontsize=16,color="magenta"];273 -> 302[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 273 -> 303[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 274 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 274[label="vuz20 * vuz21",fontsize=16,color="magenta"];274 -> 304[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 274 -> 305[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 275 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 275[label="vuz22 * vuz23",fontsize=16,color="magenta"];275 -> 306[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 275 -> 307[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 276 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 276[label="vuz20 * vuz21",fontsize=16,color="magenta"];276 -> 308[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 276 -> 309[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 277[label="vuz21",fontsize=16,color="green",shape="box"];278[label="vuz23",fontsize=16,color="green",shape="box"];279[label="primQuotInt vuz29 (reduce2D vuz31 vuz30)",fontsize=16,color="burlywood",shape="box"];3480[label="vuz29/Pos vuz290",fontsize=10,color="white",style="solid",shape="box"];279 -> 3480[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3480 -> 310[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3481[label="vuz29/Neg vuz290",fontsize=10,color="white",style="solid",shape="box"];279 -> 3481[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3481 -> 311[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 280 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 280[label="vuz20 * vuz21",fontsize=16,color="magenta"];280 -> 312[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 281 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 281[label="vuz22 * vuz23",fontsize=16,color="magenta"];281 -> 313[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 281 -> 314[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 282 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 282[label="vuz20 * vuz21",fontsize=16,color="magenta"];282 -> 315[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 283 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 283[label="vuz22 * vuz23",fontsize=16,color="magenta"];283 -> 316[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 283 -> 317[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 284[label="Integer vuz360 `quot` reduce2D vuz37 (vuz23 * vuz21)",fontsize=16,color="black",shape="box"];284 -> 318[label="",style="solid", color="black", weight=3]; 175.84/121.79 285 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 285[label="vuz22 * vuz23",fontsize=16,color="magenta"];285 -> 319[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 285 -> 320[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 286 -> 87[label="",style="dashed", color="red", weight=0]; 175.84/121.79 286[label="vuz20 * vuz21",fontsize=16,color="magenta"];286 -> 321[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 286 -> 322[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 287[label="vuz21",fontsize=16,color="green",shape="box"];288[label="vuz23",fontsize=16,color="green",shape="box"];289[label="vuz21",fontsize=16,color="green",shape="box"];290[label="vuz23",fontsize=16,color="green",shape="box"];291 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 291[label="vuz20 * vuz21",fontsize=16,color="magenta"];291 -> 323[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 292 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 292[label="vuz22 * vuz23",fontsize=16,color="magenta"];292 -> 324[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 292 -> 325[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 293[label="Integer vuz230 * vuz21",fontsize=16,color="burlywood",shape="box"];3482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];293 -> 3482[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3482 -> 326[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 294[label="vuz9100",fontsize=16,color="green",shape="box"];295[label="Succ vuz30100",fontsize=16,color="green",shape="box"];296[label="vuz28",fontsize=16,color="green",shape="box"];297[label="vuz250",fontsize=16,color="green",shape="box"];298[label="primEqNat (Succ vuz27000) vuz2600",fontsize=16,color="burlywood",shape="box"];3483[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];298 -> 3483[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3483 -> 327[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3484[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];298 -> 3484[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3484 -> 328[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 299[label="primEqNat Zero vuz2600",fontsize=16,color="burlywood",shape="box"];3485[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];299 -> 3485[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3485 -> 329[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3486[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];299 -> 3486[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3486 -> 330[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 300[label="vuz2700",fontsize=16,color="green",shape="box"];301[label="vuz2600",fontsize=16,color="green",shape="box"];302[label="vuz23",fontsize=16,color="green",shape="box"];303[label="vuz22",fontsize=16,color="green",shape="box"];304[label="vuz21",fontsize=16,color="green",shape="box"];305[label="vuz20",fontsize=16,color="green",shape="box"];306[label="vuz23",fontsize=16,color="green",shape="box"];307[label="vuz22",fontsize=16,color="green",shape="box"];308[label="vuz21",fontsize=16,color="green",shape="box"];309[label="vuz20",fontsize=16,color="green",shape="box"];310[label="primQuotInt (Pos vuz290) (reduce2D vuz31 vuz30)",fontsize=16,color="black",shape="box"];310 -> 331[label="",style="solid", color="black", weight=3]; 175.84/121.79 311[label="primQuotInt (Neg vuz290) (reduce2D vuz31 vuz30)",fontsize=16,color="black",shape="box"];311 -> 332[label="",style="solid", color="black", weight=3]; 175.84/121.79 312[label="vuz20",fontsize=16,color="green",shape="box"];313[label="vuz23",fontsize=16,color="green",shape="box"];314[label="vuz22",fontsize=16,color="green",shape="box"];315[label="vuz20",fontsize=16,color="green",shape="box"];316[label="vuz23",fontsize=16,color="green",shape="box"];317[label="vuz22",fontsize=16,color="green",shape="box"];318 -> 333[label="",style="dashed", color="red", weight=0]; 175.84/121.79 318[label="Integer vuz360 `quot` gcd vuz37 (vuz23 * vuz21)",fontsize=16,color="magenta"];318 -> 334[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 319[label="vuz23",fontsize=16,color="green",shape="box"];320[label="vuz22",fontsize=16,color="green",shape="box"];321[label="vuz21",fontsize=16,color="green",shape="box"];322[label="vuz20",fontsize=16,color="green",shape="box"];323[label="vuz20",fontsize=16,color="green",shape="box"];324[label="vuz23",fontsize=16,color="green",shape="box"];325[label="vuz22",fontsize=16,color="green",shape="box"];326[label="Integer vuz230 * Integer vuz210",fontsize=16,color="black",shape="box"];326 -> 335[label="",style="solid", color="black", weight=3]; 175.84/121.79 327[label="primEqNat (Succ vuz27000) (Succ vuz26000)",fontsize=16,color="black",shape="box"];327 -> 336[label="",style="solid", color="black", weight=3]; 175.84/121.79 328[label="primEqNat (Succ vuz27000) Zero",fontsize=16,color="black",shape="box"];328 -> 337[label="",style="solid", color="black", weight=3]; 175.84/121.79 329[label="primEqNat Zero (Succ vuz26000)",fontsize=16,color="black",shape="box"];329 -> 338[label="",style="solid", color="black", weight=3]; 175.84/121.79 330[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];330 -> 339[label="",style="solid", color="black", weight=3]; 175.84/121.79 331 -> 430[label="",style="dashed", color="red", weight=0]; 175.84/121.79 331[label="primQuotInt (Pos vuz290) (gcd vuz31 vuz30)",fontsize=16,color="magenta"];331 -> 431[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 332 -> 458[label="",style="dashed", color="red", weight=0]; 175.84/121.79 332[label="primQuotInt (Neg vuz290) (gcd vuz31 vuz30)",fontsize=16,color="magenta"];332 -> 459[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 334 -> 257[label="",style="dashed", color="red", weight=0]; 175.84/121.79 334[label="vuz23 * vuz21",fontsize=16,color="magenta"];333[label="Integer vuz360 `quot` gcd vuz37 vuz38",fontsize=16,color="black",shape="triangle"];333 -> 342[label="",style="solid", color="black", weight=3]; 175.84/121.79 335[label="Integer (primMulInt vuz230 vuz210)",fontsize=16,color="green",shape="box"];335 -> 343[label="",style="dashed", color="green", weight=3]; 175.84/121.79 336 -> 261[label="",style="dashed", color="red", weight=0]; 175.84/121.79 336[label="primEqNat vuz27000 vuz26000",fontsize=16,color="magenta"];336 -> 344[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 336 -> 345[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 337[label="False",fontsize=16,color="green",shape="box"];338[label="False",fontsize=16,color="green",shape="box"];339[label="True",fontsize=16,color="green",shape="box"];431[label="gcd vuz31 vuz30",fontsize=16,color="black",shape="triangle"];431 -> 447[label="",style="solid", color="black", weight=3]; 175.84/121.79 430[label="primQuotInt (Pos vuz290) vuz56",fontsize=16,color="burlywood",shape="triangle"];3487[label="vuz56/Pos vuz560",fontsize=10,color="white",style="solid",shape="box"];430 -> 3487[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3487 -> 448[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3488[label="vuz56/Neg vuz560",fontsize=10,color="white",style="solid",shape="box"];430 -> 3488[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3488 -> 449[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 459 -> 431[label="",style="dashed", color="red", weight=0]; 175.84/121.79 459[label="gcd vuz31 vuz30",fontsize=16,color="magenta"];458[label="primQuotInt (Neg vuz290) vuz59",fontsize=16,color="burlywood",shape="triangle"];3489[label="vuz59/Pos vuz590",fontsize=10,color="white",style="solid",shape="box"];458 -> 3489[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3489 -> 475[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3490[label="vuz59/Neg vuz590",fontsize=10,color="white",style="solid",shape="box"];458 -> 3490[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3490 -> 476[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 342[label="Integer vuz360 `quot` gcd3 vuz37 vuz38",fontsize=16,color="black",shape="box"];342 -> 348[label="",style="solid", color="black", weight=3]; 175.84/121.79 343 -> 106[label="",style="dashed", color="red", weight=0]; 175.84/121.79 343[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];343 -> 349[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 343 -> 350[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 344[label="vuz27000",fontsize=16,color="green",shape="box"];345[label="vuz26000",fontsize=16,color="green",shape="box"];447[label="gcd3 vuz31 vuz30",fontsize=16,color="black",shape="box"];447 -> 453[label="",style="solid", color="black", weight=3]; 175.84/121.79 448[label="primQuotInt (Pos vuz290) (Pos vuz560)",fontsize=16,color="burlywood",shape="box"];3491[label="vuz560/Succ vuz5600",fontsize=10,color="white",style="solid",shape="box"];448 -> 3491[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3491 -> 454[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3492[label="vuz560/Zero",fontsize=10,color="white",style="solid",shape="box"];448 -> 3492[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3492 -> 455[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 449[label="primQuotInt (Pos vuz290) (Neg vuz560)",fontsize=16,color="burlywood",shape="box"];3493[label="vuz560/Succ vuz5600",fontsize=10,color="white",style="solid",shape="box"];449 -> 3493[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3493 -> 456[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3494[label="vuz560/Zero",fontsize=10,color="white",style="solid",shape="box"];449 -> 3494[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3494 -> 457[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 475[label="primQuotInt (Neg vuz290) (Pos vuz590)",fontsize=16,color="burlywood",shape="box"];3495[label="vuz590/Succ vuz5900",fontsize=10,color="white",style="solid",shape="box"];475 -> 3495[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3495 -> 479[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3496[label="vuz590/Zero",fontsize=10,color="white",style="solid",shape="box"];475 -> 3496[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3496 -> 480[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 476[label="primQuotInt (Neg vuz290) (Neg vuz590)",fontsize=16,color="burlywood",shape="box"];3497[label="vuz590/Succ vuz5900",fontsize=10,color="white",style="solid",shape="box"];476 -> 3497[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3497 -> 481[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3498[label="vuz590/Zero",fontsize=10,color="white",style="solid",shape="box"];476 -> 3498[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3498 -> 482[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 348 -> 355[label="",style="dashed", color="red", weight=0]; 175.84/121.79 348[label="Integer vuz360 `quot` gcd2 (vuz37 == fromInt (Pos Zero)) vuz37 vuz38",fontsize=16,color="magenta"];348 -> 356[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 349[label="vuz210",fontsize=16,color="green",shape="box"];350[label="vuz230",fontsize=16,color="green",shape="box"];453 -> 477[label="",style="dashed", color="red", weight=0]; 175.84/121.79 453[label="gcd2 (vuz31 == fromInt (Pos Zero)) vuz31 vuz30",fontsize=16,color="magenta"];453 -> 478[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 454[label="primQuotInt (Pos vuz290) (Pos (Succ vuz5600))",fontsize=16,color="black",shape="box"];454 -> 483[label="",style="solid", color="black", weight=3]; 175.84/121.79 455[label="primQuotInt (Pos vuz290) (Pos Zero)",fontsize=16,color="black",shape="box"];455 -> 484[label="",style="solid", color="black", weight=3]; 175.84/121.79 456[label="primQuotInt (Pos vuz290) (Neg (Succ vuz5600))",fontsize=16,color="black",shape="box"];456 -> 485[label="",style="solid", color="black", weight=3]; 175.84/121.79 457[label="primQuotInt (Pos vuz290) (Neg Zero)",fontsize=16,color="black",shape="box"];457 -> 486[label="",style="solid", color="black", weight=3]; 175.84/121.79 479[label="primQuotInt (Neg vuz290) (Pos (Succ vuz5900))",fontsize=16,color="black",shape="box"];479 -> 493[label="",style="solid", color="black", weight=3]; 175.84/121.79 480[label="primQuotInt (Neg vuz290) (Pos Zero)",fontsize=16,color="black",shape="box"];480 -> 494[label="",style="solid", color="black", weight=3]; 175.84/121.79 481[label="primQuotInt (Neg vuz290) (Neg (Succ vuz5900))",fontsize=16,color="black",shape="box"];481 -> 495[label="",style="solid", color="black", weight=3]; 175.84/121.79 482[label="primQuotInt (Neg vuz290) (Neg Zero)",fontsize=16,color="black",shape="box"];482 -> 496[label="",style="solid", color="black", weight=3]; 175.84/121.79 356 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 356[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];355[label="Integer vuz360 `quot` gcd2 (vuz37 == vuz43) vuz37 vuz38",fontsize=16,color="burlywood",shape="triangle"];3499[label="vuz37/Integer vuz370",fontsize=10,color="white",style="solid",shape="box"];355 -> 3499[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3499 -> 365[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 478 -> 168[label="",style="dashed", color="red", weight=0]; 175.84/121.79 478[label="vuz31 == fromInt (Pos Zero)",fontsize=16,color="magenta"];478 -> 487[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 478 -> 488[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 477[label="gcd2 vuz60 vuz31 vuz30",fontsize=16,color="burlywood",shape="triangle"];3500[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];477 -> 3500[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3500 -> 489[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3501[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];477 -> 3501[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3501 -> 490[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 483[label="Pos (primDivNatS vuz290 (Succ vuz5600))",fontsize=16,color="green",shape="box"];483 -> 497[label="",style="dashed", color="green", weight=3]; 175.84/121.79 484[label="error []",fontsize=16,color="black",shape="triangle"];484 -> 498[label="",style="solid", color="black", weight=3]; 175.84/121.79 485[label="Neg (primDivNatS vuz290 (Succ vuz5600))",fontsize=16,color="green",shape="box"];485 -> 499[label="",style="dashed", color="green", weight=3]; 175.84/121.79 486 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 486[label="error []",fontsize=16,color="magenta"];493[label="Neg (primDivNatS vuz290 (Succ vuz5900))",fontsize=16,color="green",shape="box"];493 -> 504[label="",style="dashed", color="green", weight=3]; 175.84/121.79 494 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 494[label="error []",fontsize=16,color="magenta"];495[label="Pos (primDivNatS vuz290 (Succ vuz5900))",fontsize=16,color="green",shape="box"];495 -> 505[label="",style="dashed", color="green", weight=3]; 175.84/121.79 496 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 496[label="error []",fontsize=16,color="magenta"];365[label="Integer vuz360 `quot` gcd2 (Integer vuz370 == vuz43) (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="box"];3502[label="vuz43/Integer vuz430",fontsize=10,color="white",style="solid",shape="box"];365 -> 3502[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3502 -> 370[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 487[label="vuz31",fontsize=16,color="green",shape="box"];488 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.79 488[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];489[label="gcd2 False vuz31 vuz30",fontsize=16,color="black",shape="box"];489 -> 500[label="",style="solid", color="black", weight=3]; 175.84/121.79 490[label="gcd2 True vuz31 vuz30",fontsize=16,color="black",shape="box"];490 -> 501[label="",style="solid", color="black", weight=3]; 175.84/121.79 497[label="primDivNatS vuz290 (Succ vuz5600)",fontsize=16,color="burlywood",shape="triangle"];3503[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];497 -> 3503[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3503 -> 506[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3504[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];497 -> 3504[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3504 -> 507[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 498[label="error []",fontsize=16,color="red",shape="box"];499 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 499[label="primDivNatS vuz290 (Succ vuz5600)",fontsize=16,color="magenta"];499 -> 508[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 504 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 504[label="primDivNatS vuz290 (Succ vuz5900)",fontsize=16,color="magenta"];504 -> 512[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 504 -> 513[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 505 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 505[label="primDivNatS vuz290 (Succ vuz5900)",fontsize=16,color="magenta"];505 -> 514[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 505 -> 515[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 370[label="Integer vuz360 `quot` gcd2 (Integer vuz370 == Integer vuz430) (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];370 -> 377[label="",style="solid", color="black", weight=3]; 175.84/121.79 500[label="gcd0 vuz31 vuz30",fontsize=16,color="black",shape="triangle"];500 -> 509[label="",style="solid", color="black", weight=3]; 175.84/121.79 501 -> 510[label="",style="dashed", color="red", weight=0]; 175.84/121.79 501[label="gcd1 (vuz30 == fromInt (Pos Zero)) vuz31 vuz30",fontsize=16,color="magenta"];501 -> 511[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 506[label="primDivNatS (Succ vuz2900) (Succ vuz5600)",fontsize=16,color="black",shape="box"];506 -> 516[label="",style="solid", color="black", weight=3]; 175.84/121.79 507[label="primDivNatS Zero (Succ vuz5600)",fontsize=16,color="black",shape="box"];507 -> 517[label="",style="solid", color="black", weight=3]; 175.84/121.79 508[label="vuz5600",fontsize=16,color="green",shape="box"];512[label="vuz290",fontsize=16,color="green",shape="box"];513[label="vuz5900",fontsize=16,color="green",shape="box"];514[label="vuz290",fontsize=16,color="green",shape="box"];515[label="vuz5900",fontsize=16,color="green",shape="box"];377 -> 388[label="",style="dashed", color="red", weight=0]; 175.84/121.79 377[label="Integer vuz360 `quot` gcd2 (primEqInt vuz370 vuz430) (Integer vuz370) vuz38",fontsize=16,color="magenta"];377 -> 389[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 509[label="gcd0Gcd' (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];509 -> 518[label="",style="solid", color="black", weight=3]; 175.84/121.79 511 -> 168[label="",style="dashed", color="red", weight=0]; 175.84/121.79 511[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];511 -> 519[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 511 -> 520[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 510[label="gcd1 vuz63 vuz31 vuz30",fontsize=16,color="burlywood",shape="triangle"];3505[label="vuz63/False",fontsize=10,color="white",style="solid",shape="box"];510 -> 3505[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3505 -> 521[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3506[label="vuz63/True",fontsize=10,color="white",style="solid",shape="box"];510 -> 3506[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3506 -> 522[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 516[label="primDivNatS0 vuz2900 vuz5600 (primGEqNatS vuz2900 vuz5600)",fontsize=16,color="burlywood",shape="box"];3507[label="vuz2900/Succ vuz29000",fontsize=10,color="white",style="solid",shape="box"];516 -> 3507[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3507 -> 525[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3508[label="vuz2900/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 3508[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3508 -> 526[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 517[label="Zero",fontsize=16,color="green",shape="box"];389 -> 181[label="",style="dashed", color="red", weight=0]; 175.84/121.79 389[label="primEqInt vuz370 vuz430",fontsize=16,color="magenta"];389 -> 396[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 389 -> 397[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 388[label="Integer vuz360 `quot` gcd2 vuz48 (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="triangle"];3509[label="vuz48/False",fontsize=10,color="white",style="solid",shape="box"];388 -> 3509[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3509 -> 398[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3510[label="vuz48/True",fontsize=10,color="white",style="solid",shape="box"];388 -> 3510[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3510 -> 399[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 518[label="gcd0Gcd'2 (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];518 -> 527[label="",style="solid", color="black", weight=3]; 175.84/121.79 519[label="vuz30",fontsize=16,color="green",shape="box"];520 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.79 520[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="gcd1 False vuz31 vuz30",fontsize=16,color="black",shape="box"];521 -> 528[label="",style="solid", color="black", weight=3]; 175.84/121.79 522[label="gcd1 True vuz31 vuz30",fontsize=16,color="black",shape="box"];522 -> 529[label="",style="solid", color="black", weight=3]; 175.84/121.79 525[label="primDivNatS0 (Succ vuz29000) vuz5600 (primGEqNatS (Succ vuz29000) vuz5600)",fontsize=16,color="burlywood",shape="box"];3511[label="vuz5600/Succ vuz56000",fontsize=10,color="white",style="solid",shape="box"];525 -> 3511[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3511 -> 532[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3512[label="vuz5600/Zero",fontsize=10,color="white",style="solid",shape="box"];525 -> 3512[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3512 -> 533[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 526[label="primDivNatS0 Zero vuz5600 (primGEqNatS Zero vuz5600)",fontsize=16,color="burlywood",shape="box"];3513[label="vuz5600/Succ vuz56000",fontsize=10,color="white",style="solid",shape="box"];526 -> 3513[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3513 -> 534[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3514[label="vuz5600/Zero",fontsize=10,color="white",style="solid",shape="box"];526 -> 3514[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3514 -> 535[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 396[label="vuz370",fontsize=16,color="green",shape="box"];397[label="vuz430",fontsize=16,color="green",shape="box"];398[label="Integer vuz360 `quot` gcd2 False (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];398 -> 406[label="",style="solid", color="black", weight=3]; 175.84/121.79 399[label="Integer vuz360 `quot` gcd2 True (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];399 -> 407[label="",style="solid", color="black", weight=3]; 175.84/121.79 527 -> 536[label="",style="dashed", color="red", weight=0]; 175.84/121.79 527[label="gcd0Gcd'1 (abs vuz30 == fromInt (Pos Zero)) (abs vuz31) (abs vuz30)",fontsize=16,color="magenta"];527 -> 537[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 528 -> 500[label="",style="dashed", color="red", weight=0]; 175.84/121.79 528[label="gcd0 vuz31 vuz30",fontsize=16,color="magenta"];529 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 529[label="error []",fontsize=16,color="magenta"];532[label="primDivNatS0 (Succ vuz29000) (Succ vuz56000) (primGEqNatS (Succ vuz29000) (Succ vuz56000))",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 175.84/121.79 533[label="primDivNatS0 (Succ vuz29000) Zero (primGEqNatS (Succ vuz29000) Zero)",fontsize=16,color="black",shape="box"];533 -> 539[label="",style="solid", color="black", weight=3]; 175.84/121.79 534[label="primDivNatS0 Zero (Succ vuz56000) (primGEqNatS Zero (Succ vuz56000))",fontsize=16,color="black",shape="box"];534 -> 540[label="",style="solid", color="black", weight=3]; 175.84/121.79 535[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];535 -> 541[label="",style="solid", color="black", weight=3]; 175.84/121.79 406[label="Integer vuz360 `quot` gcd0 (Integer vuz370) vuz38",fontsize=16,color="black",shape="triangle"];406 -> 416[label="",style="solid", color="black", weight=3]; 175.84/121.79 407 -> 417[label="",style="dashed", color="red", weight=0]; 175.84/121.79 407[label="Integer vuz360 `quot` gcd1 (vuz38 == fromInt (Pos Zero)) (Integer vuz370) vuz38",fontsize=16,color="magenta"];407 -> 418[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 537 -> 168[label="",style="dashed", color="red", weight=0]; 175.84/121.79 537[label="abs vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];537 -> 542[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 537 -> 543[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 536[label="gcd0Gcd'1 vuz66 (abs vuz31) (abs vuz30)",fontsize=16,color="burlywood",shape="triangle"];3515[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];536 -> 3515[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3515 -> 544[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3516[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];536 -> 3516[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3516 -> 545[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 538 -> 1283[label="",style="dashed", color="red", weight=0]; 175.84/121.79 538[label="primDivNatS0 (Succ vuz29000) (Succ vuz56000) (primGEqNatS vuz29000 vuz56000)",fontsize=16,color="magenta"];538 -> 1284[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 538 -> 1285[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 538 -> 1286[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 538 -> 1287[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 539[label="primDivNatS0 (Succ vuz29000) Zero True",fontsize=16,color="black",shape="box"];539 -> 553[label="",style="solid", color="black", weight=3]; 175.84/121.79 540[label="primDivNatS0 Zero (Succ vuz56000) False",fontsize=16,color="black",shape="box"];540 -> 554[label="",style="solid", color="black", weight=3]; 175.84/121.79 541[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];541 -> 555[label="",style="solid", color="black", weight=3]; 175.84/121.79 416[label="Integer vuz360 `quot` gcd0Gcd' (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="box"];416 -> 424[label="",style="solid", color="black", weight=3]; 175.84/121.79 418 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 418[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];417[label="Integer vuz360 `quot` gcd1 (vuz38 == vuz53) (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="triangle"];3517[label="vuz38/Integer vuz380",fontsize=10,color="white",style="solid",shape="box"];417 -> 3517[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3517 -> 425[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 542[label="abs vuz30",fontsize=16,color="black",shape="triangle"];542 -> 556[label="",style="solid", color="black", weight=3]; 175.84/121.79 543 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.79 543[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];544[label="gcd0Gcd'1 False (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];544 -> 557[label="",style="solid", color="black", weight=3]; 175.84/121.79 545[label="gcd0Gcd'1 True (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 175.84/121.79 1284[label="vuz56000",fontsize=16,color="green",shape="box"];1285[label="vuz29000",fontsize=16,color="green",shape="box"];1286[label="vuz56000",fontsize=16,color="green",shape="box"];1287[label="vuz29000",fontsize=16,color="green",shape="box"];1283[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];3518[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];1283 -> 3518[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3518 -> 1324[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3519[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];1283 -> 3519[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3519 -> 1325[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 553[label="Succ (primDivNatS (primMinusNatS (Succ vuz29000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 566[label="",style="dashed", color="green", weight=3]; 175.84/121.79 554[label="Zero",fontsize=16,color="green",shape="box"];555[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];555 -> 567[label="",style="dashed", color="green", weight=3]; 175.84/121.79 424[label="Integer vuz360 `quot` gcd0Gcd'2 (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="box"];424 -> 491[label="",style="solid", color="black", weight=3]; 175.84/121.79 425[label="Integer vuz360 `quot` gcd1 (Integer vuz380 == vuz53) (Integer vuz370) (Integer vuz380)",fontsize=16,color="burlywood",shape="box"];3520[label="vuz53/Integer vuz530",fontsize=10,color="white",style="solid",shape="box"];425 -> 3520[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3520 -> 492[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 556[label="absReal vuz30",fontsize=16,color="black",shape="box"];556 -> 568[label="",style="solid", color="black", weight=3]; 175.84/121.79 557 -> 569[label="",style="dashed", color="red", weight=0]; 175.84/121.79 557[label="gcd0Gcd'0 (abs vuz31) (abs vuz30)",fontsize=16,color="magenta"];557 -> 570[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 557 -> 571[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 558 -> 542[label="",style="dashed", color="red", weight=0]; 175.84/121.79 558[label="abs vuz31",fontsize=16,color="magenta"];558 -> 572[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1324[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];3521[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1324 -> 3521[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3521 -> 1364[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3522[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1324 -> 3522[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3522 -> 1365[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1325[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];3523[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1325 -> 3523[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3523 -> 1366[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3524[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1325 -> 3524[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3524 -> 1367[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 566 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 566[label="primDivNatS (primMinusNatS (Succ vuz29000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 567 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 491 -> 502[label="",style="dashed", color="red", weight=0]; 175.84/121.79 491[label="Integer vuz360 `quot` gcd0Gcd'1 (abs vuz38 == fromInt (Pos Zero)) (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="magenta"];491 -> 503[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 492[label="Integer vuz360 `quot` gcd1 (Integer vuz380 == Integer vuz530) (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];492 -> 523[label="",style="solid", color="black", weight=3]; 175.84/121.79 568[label="absReal2 vuz30",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 175.84/121.79 570 -> 542[label="",style="dashed", color="red", weight=0]; 175.84/121.79 570[label="abs vuz30",fontsize=16,color="magenta"];571 -> 542[label="",style="dashed", color="red", weight=0]; 175.84/121.79 571[label="abs vuz31",fontsize=16,color="magenta"];571 -> 582[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 569[label="gcd0Gcd'0 vuz69 vuz68",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 175.84/121.79 572[label="vuz31",fontsize=16,color="green",shape="box"];1364[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];1364 -> 1401[label="",style="solid", color="black", weight=3]; 175.84/121.79 1365[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];1365 -> 1402[label="",style="solid", color="black", weight=3]; 175.84/121.79 1366[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];1366 -> 1403[label="",style="solid", color="black", weight=3]; 175.84/121.79 1367[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1367 -> 1404[label="",style="solid", color="black", weight=3]; 175.84/121.79 577[label="primMinusNatS (Succ vuz29000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 175.84/121.79 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 175.84/121.79 580[label="Zero",fontsize=16,color="green",shape="box"];503 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 503[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];502[label="Integer vuz360 `quot` gcd0Gcd'1 (abs vuz38 == vuz62) (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="triangle"];502 -> 524[label="",style="solid", color="black", weight=3]; 175.84/121.79 523 -> 530[label="",style="dashed", color="red", weight=0]; 175.84/121.79 523[label="Integer vuz360 `quot` gcd1 (primEqInt vuz380 vuz530) (Integer vuz370) (Integer vuz380)",fontsize=16,color="magenta"];523 -> 531[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 581 -> 594[label="",style="dashed", color="red", weight=0]; 175.84/121.79 581[label="absReal1 vuz30 (vuz30 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];581 -> 595[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 582[label="vuz31",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];583 -> 596[label="",style="solid", color="black", weight=3]; 175.84/121.79 1401 -> 1283[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1401[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];1401 -> 1407[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1401 -> 1408[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1402[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];1402 -> 1409[label="",style="solid", color="black", weight=3]; 175.84/121.79 1403[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];1403 -> 1410[label="",style="solid", color="black", weight=3]; 175.84/121.79 1404 -> 1402[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1404[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz29000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];524[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal vuz38 == vuz62) (abs (Integer vuz370)) (absReal vuz38)",fontsize=16,color="black",shape="box"];524 -> 546[label="",style="solid", color="black", weight=3]; 175.84/121.79 531 -> 181[label="",style="dashed", color="red", weight=0]; 175.84/121.79 531[label="primEqInt vuz380 vuz530",fontsize=16,color="magenta"];531 -> 547[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 531 -> 548[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 530[label="Integer vuz360 `quot` gcd1 vuz65 (Integer vuz370) (Integer vuz380)",fontsize=16,color="burlywood",shape="triangle"];3525[label="vuz65/False",fontsize=10,color="white",style="solid",shape="box"];530 -> 3525[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3525 -> 549[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3526[label="vuz65/True",fontsize=10,color="white",style="solid",shape="box"];530 -> 3526[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3526 -> 550[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 595 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.79 595[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];594[label="absReal1 vuz30 (vuz30 >= vuz72)",fontsize=16,color="black",shape="triangle"];594 -> 603[label="",style="solid", color="black", weight=3]; 175.84/121.79 596[label="gcd0Gcd'2 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];596 -> 607[label="",style="solid", color="black", weight=3]; 175.84/121.79 1407[label="vuz1000",fontsize=16,color="green",shape="box"];1408[label="vuz990",fontsize=16,color="green",shape="box"];1409[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];1409 -> 1413[label="",style="dashed", color="green", weight=3]; 175.84/121.79 1410[label="Zero",fontsize=16,color="green",shape="box"];546[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal2 vuz38 == vuz62) (abs (Integer vuz370)) (absReal2 vuz38)",fontsize=16,color="black",shape="box"];546 -> 559[label="",style="solid", color="black", weight=3]; 175.84/121.79 547[label="vuz380",fontsize=16,color="green",shape="box"];548[label="vuz530",fontsize=16,color="green",shape="box"];549[label="Integer vuz360 `quot` gcd1 False (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];549 -> 560[label="",style="solid", color="black", weight=3]; 175.84/121.79 550[label="Integer vuz360 `quot` gcd1 True (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];550 -> 561[label="",style="solid", color="black", weight=3]; 175.84/121.79 603[label="absReal1 vuz30 (compare vuz30 vuz72 /= LT)",fontsize=16,color="black",shape="box"];603 -> 616[label="",style="solid", color="black", weight=3]; 175.84/121.79 607 -> 618[label="",style="dashed", color="red", weight=0]; 175.84/121.79 607[label="gcd0Gcd'1 (vuz69 `rem` vuz68 == fromInt (Pos Zero)) vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="magenta"];607 -> 619[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1413 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1413[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1413 -> 1447[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1413 -> 1448[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 559 -> 584[label="",style="dashed", color="red", weight=0]; 175.84/121.79 559[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (vuz38 >= fromInt (Pos Zero)) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (vuz38 >= fromInt (Pos Zero)))",fontsize=16,color="magenta"];559 -> 585[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 559 -> 586[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 560 -> 406[label="",style="dashed", color="red", weight=0]; 175.84/121.79 560[label="Integer vuz360 `quot` gcd0 (Integer vuz370) (Integer vuz380)",fontsize=16,color="magenta"];560 -> 604[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 561[label="Integer vuz360 `quot` error []",fontsize=16,color="black",shape="box"];561 -> 605[label="",style="solid", color="black", weight=3]; 175.84/121.79 616[label="absReal1 vuz30 (not (compare vuz30 vuz72 == LT))",fontsize=16,color="black",shape="box"];616 -> 627[label="",style="solid", color="black", weight=3]; 175.84/121.79 619 -> 168[label="",style="dashed", color="red", weight=0]; 175.84/121.79 619[label="vuz69 `rem` vuz68 == fromInt (Pos Zero)",fontsize=16,color="magenta"];619 -> 628[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 619 -> 629[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 618[label="gcd0Gcd'1 vuz73 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="burlywood",shape="triangle"];3527[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];618 -> 3527[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3527 -> 630[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3528[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];618 -> 3528[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3528 -> 631[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1447 -> 1022[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1447[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="magenta"];1447 -> 1489[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1447 -> 1490[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1448[label="Succ vuz98",fontsize=16,color="green",shape="box"];585 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 585[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];586 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 586[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];584[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (vuz38 >= vuz71) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (vuz38 >= vuz70))",fontsize=16,color="black",shape="triangle"];584 -> 606[label="",style="solid", color="black", weight=3]; 175.84/121.79 604[label="Integer vuz380",fontsize=16,color="green",shape="box"];605[label="error []",fontsize=16,color="red",shape="box"];627[label="absReal1 vuz30 (not (primCmpInt vuz30 vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3529[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];627 -> 3529[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3529 -> 640[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3530[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];627 -> 3530[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3530 -> 641[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 628[label="vuz69 `rem` vuz68",fontsize=16,color="black",shape="triangle"];628 -> 642[label="",style="solid", color="black", weight=3]; 175.84/121.79 629 -> 13[label="",style="dashed", color="red", weight=0]; 175.84/121.79 629[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];630[label="gcd0Gcd'1 False vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];630 -> 643[label="",style="solid", color="black", weight=3]; 175.84/121.79 631[label="gcd0Gcd'1 True vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];631 -> 644[label="",style="solid", color="black", weight=3]; 175.84/121.79 1489[label="Succ vuz97",fontsize=16,color="green",shape="box"];1490[label="Succ vuz98",fontsize=16,color="green",shape="box"];1022[label="primMinusNatS vuz88 vuz89",fontsize=16,color="burlywood",shape="triangle"];3531[label="vuz88/Succ vuz880",fontsize=10,color="white",style="solid",shape="box"];1022 -> 3531[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3531 -> 1050[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3532[label="vuz88/Zero",fontsize=10,color="white",style="solid",shape="box"];1022 -> 3532[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3532 -> 1051[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 606[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (compare vuz38 vuz71 /= LT) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (compare vuz38 vuz71 /= LT))",fontsize=16,color="black",shape="box"];606 -> 617[label="",style="solid", color="black", weight=3]; 175.84/121.79 640[label="absReal1 (Pos vuz300) (not (primCmpInt (Pos vuz300) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3533[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];640 -> 3533[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3533 -> 654[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3534[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];640 -> 3534[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3534 -> 655[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 641[label="absReal1 (Neg vuz300) (not (primCmpInt (Neg vuz300) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3535[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];641 -> 3535[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3535 -> 656[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3536[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];641 -> 3536[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3536 -> 657[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 642[label="primRemInt vuz69 vuz68",fontsize=16,color="burlywood",shape="triangle"];3537[label="vuz69/Pos vuz690",fontsize=10,color="white",style="solid",shape="box"];642 -> 3537[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3537 -> 658[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3538[label="vuz69/Neg vuz690",fontsize=10,color="white",style="solid",shape="box"];642 -> 3538[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3538 -> 659[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 643 -> 569[label="",style="dashed", color="red", weight=0]; 175.84/121.79 643[label="gcd0Gcd'0 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="magenta"];643 -> 660[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 643 -> 661[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 644[label="vuz68",fontsize=16,color="green",shape="box"];1050[label="primMinusNatS (Succ vuz880) vuz89",fontsize=16,color="burlywood",shape="box"];3539[label="vuz89/Succ vuz890",fontsize=10,color="white",style="solid",shape="box"];1050 -> 3539[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3539 -> 1060[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3540[label="vuz89/Zero",fontsize=10,color="white",style="solid",shape="box"];1050 -> 3540[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3540 -> 1061[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1051[label="primMinusNatS Zero vuz89",fontsize=16,color="burlywood",shape="box"];3541[label="vuz89/Succ vuz890",fontsize=10,color="white",style="solid",shape="box"];1051 -> 3541[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3541 -> 1062[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3542[label="vuz89/Zero",fontsize=10,color="white",style="solid",shape="box"];1051 -> 3542[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3542 -> 1063[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 617[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (not (compare vuz38 vuz71 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (not (compare vuz38 vuz71 == LT)))",fontsize=16,color="burlywood",shape="box"];3543[label="vuz38/Integer vuz380",fontsize=10,color="white",style="solid",shape="box"];617 -> 3543[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3543 -> 632[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 654[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3544[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];654 -> 3544[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3544 -> 670[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3545[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];654 -> 3545[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3545 -> 671[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 655[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3546[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];655 -> 3546[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3546 -> 672[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3547[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];655 -> 3547[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3547 -> 673[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 656[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3548[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];656 -> 3548[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3548 -> 674[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3549[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];656 -> 3549[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3549 -> 675[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 657[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3550[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];657 -> 3550[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3550 -> 676[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3551[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];657 -> 3551[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3551 -> 677[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 658[label="primRemInt (Pos vuz690) vuz68",fontsize=16,color="burlywood",shape="box"];3552[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];658 -> 3552[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3552 -> 678[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3553[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];658 -> 3553[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3553 -> 679[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 659[label="primRemInt (Neg vuz690) vuz68",fontsize=16,color="burlywood",shape="box"];3554[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];659 -> 3554[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3554 -> 680[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3555[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];659 -> 3555[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3555 -> 681[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 660 -> 628[label="",style="dashed", color="red", weight=0]; 175.84/121.79 660[label="vuz69 `rem` vuz68",fontsize=16,color="magenta"];661[label="vuz68",fontsize=16,color="green",shape="box"];1060[label="primMinusNatS (Succ vuz880) (Succ vuz890)",fontsize=16,color="black",shape="box"];1060 -> 1111[label="",style="solid", color="black", weight=3]; 175.84/121.79 1061[label="primMinusNatS (Succ vuz880) Zero",fontsize=16,color="black",shape="box"];1061 -> 1112[label="",style="solid", color="black", weight=3]; 175.84/121.79 1062[label="primMinusNatS Zero (Succ vuz890)",fontsize=16,color="black",shape="box"];1062 -> 1113[label="",style="solid", color="black", weight=3]; 175.84/121.79 1063[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1063 -> 1114[label="",style="solid", color="black", weight=3]; 175.84/121.79 632[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (compare (Integer vuz380) vuz71 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (compare (Integer vuz380) vuz71 == LT)))",fontsize=16,color="burlywood",shape="box"];3556[label="vuz71/Integer vuz710",fontsize=10,color="white",style="solid",shape="box"];632 -> 3556[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3556 -> 645[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 670[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) (Pos vuz720) == LT))",fontsize=16,color="black",shape="box"];670 -> 691[label="",style="solid", color="black", weight=3]; 175.84/121.79 671[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) (Neg vuz720) == LT))",fontsize=16,color="black",shape="box"];671 -> 692[label="",style="solid", color="black", weight=3]; 175.84/121.79 672[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3557[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];672 -> 3557[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3557 -> 693[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3558[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];672 -> 3558[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3558 -> 694[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 673[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3559[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];673 -> 3559[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3559 -> 695[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3560[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];673 -> 3560[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3560 -> 696[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 674[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) (Pos vuz720) == LT))",fontsize=16,color="black",shape="box"];674 -> 697[label="",style="solid", color="black", weight=3]; 175.84/121.79 675[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) (Neg vuz720) == LT))",fontsize=16,color="black",shape="box"];675 -> 698[label="",style="solid", color="black", weight=3]; 175.84/121.79 676[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3561[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];676 -> 3561[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3561 -> 699[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3562[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];676 -> 3562[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3562 -> 700[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 677[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3563[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];677 -> 3563[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3563 -> 701[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3564[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];677 -> 3564[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3564 -> 702[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 678[label="primRemInt (Pos vuz690) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];3565[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];678 -> 3565[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3565 -> 703[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3566[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];678 -> 3566[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3566 -> 704[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 679[label="primRemInt (Pos vuz690) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];3567[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];679 -> 3567[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3567 -> 705[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3568[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];679 -> 3568[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3568 -> 706[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 680[label="primRemInt (Neg vuz690) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];3569[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];680 -> 3569[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3569 -> 707[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3570[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];680 -> 3570[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3570 -> 708[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 681[label="primRemInt (Neg vuz690) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];3571[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];681 -> 3571[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3571 -> 709[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3572[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];681 -> 3572[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3572 -> 710[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1111 -> 1022[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1111[label="primMinusNatS vuz880 vuz890",fontsize=16,color="magenta"];1111 -> 1165[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1111 -> 1166[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1112[label="Succ vuz880",fontsize=16,color="green",shape="box"];1113[label="Zero",fontsize=16,color="green",shape="box"];1114[label="Zero",fontsize=16,color="green",shape="box"];645[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (compare (Integer vuz380) (Integer vuz710) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (compare (Integer vuz380) (Integer vuz710) == LT)))",fontsize=16,color="black",shape="box"];645 -> 662[label="",style="solid", color="black", weight=3]; 175.84/121.79 691 -> 1467[label="",style="dashed", color="red", weight=0]; 175.84/121.79 691[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpNat (Succ vuz3000) vuz720 == LT))",fontsize=16,color="magenta"];691 -> 1468[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 691 -> 1469[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 691 -> 1470[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 692[label="absReal1 (Pos (Succ vuz3000)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];692 -> 725[label="",style="solid", color="black", weight=3]; 175.84/121.79 693[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];693 -> 726[label="",style="solid", color="black", weight=3]; 175.84/121.79 694[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];694 -> 727[label="",style="solid", color="black", weight=3]; 175.84/121.79 695[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];695 -> 728[label="",style="solid", color="black", weight=3]; 175.84/121.79 696[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];696 -> 729[label="",style="solid", color="black", weight=3]; 175.84/121.79 697[label="absReal1 (Neg (Succ vuz3000)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];697 -> 730[label="",style="solid", color="black", weight=3]; 175.84/121.79 698 -> 1882[label="",style="dashed", color="red", weight=0]; 175.84/121.79 698[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpNat vuz720 (Succ vuz3000) == LT))",fontsize=16,color="magenta"];698 -> 1883[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 698 -> 1884[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 698 -> 1885[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 699[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];699 -> 733[label="",style="solid", color="black", weight=3]; 175.84/121.79 700[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];700 -> 734[label="",style="solid", color="black", weight=3]; 175.84/121.79 701[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];701 -> 735[label="",style="solid", color="black", weight=3]; 175.84/121.79 702[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];702 -> 736[label="",style="solid", color="black", weight=3]; 175.84/121.79 703[label="primRemInt (Pos vuz690) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];703 -> 737[label="",style="solid", color="black", weight=3]; 175.84/121.79 704[label="primRemInt (Pos vuz690) (Pos Zero)",fontsize=16,color="black",shape="box"];704 -> 738[label="",style="solid", color="black", weight=3]; 175.84/121.79 705[label="primRemInt (Pos vuz690) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];705 -> 739[label="",style="solid", color="black", weight=3]; 175.84/121.79 706[label="primRemInt (Pos vuz690) (Neg Zero)",fontsize=16,color="black",shape="box"];706 -> 740[label="",style="solid", color="black", weight=3]; 175.84/121.79 707[label="primRemInt (Neg vuz690) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];707 -> 741[label="",style="solid", color="black", weight=3]; 175.84/121.79 708[label="primRemInt (Neg vuz690) (Pos Zero)",fontsize=16,color="black",shape="box"];708 -> 742[label="",style="solid", color="black", weight=3]; 175.84/121.79 709[label="primRemInt (Neg vuz690) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];709 -> 743[label="",style="solid", color="black", weight=3]; 175.84/121.79 710[label="primRemInt (Neg vuz690) (Neg Zero)",fontsize=16,color="black",shape="box"];710 -> 744[label="",style="solid", color="black", weight=3]; 175.84/121.79 1165[label="vuz880",fontsize=16,color="green",shape="box"];1166[label="vuz890",fontsize=16,color="green",shape="box"];662[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (primCmpInt vuz380 vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (primCmpInt vuz380 vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3573[label="vuz380/Pos vuz3800",fontsize=10,color="white",style="solid",shape="box"];662 -> 3573[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3573 -> 682[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3574[label="vuz380/Neg vuz3800",fontsize=10,color="white",style="solid",shape="box"];662 -> 3574[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3574 -> 683[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1468[label="Succ vuz3000",fontsize=16,color="green",shape="box"];1469[label="vuz3000",fontsize=16,color="green",shape="box"];1470[label="vuz720",fontsize=16,color="green",shape="box"];1467[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat vuz105 vuz106 == LT))",fontsize=16,color="burlywood",shape="triangle"];3575[label="vuz105/Succ vuz1050",fontsize=10,color="white",style="solid",shape="box"];1467 -> 3575[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3575 -> 1491[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3576[label="vuz105/Zero",fontsize=10,color="white",style="solid",shape="box"];1467 -> 3576[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3576 -> 1492[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 725[label="absReal1 (Pos (Succ vuz3000)) (not False)",fontsize=16,color="black",shape="triangle"];725 -> 762[label="",style="solid", color="black", weight=3]; 175.84/121.79 726[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz7200) == LT))",fontsize=16,color="black",shape="box"];726 -> 763[label="",style="solid", color="black", weight=3]; 175.84/121.79 727[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];727 -> 764[label="",style="solid", color="black", weight=3]; 175.84/121.79 728[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];728 -> 765[label="",style="solid", color="black", weight=3]; 175.84/121.79 729 -> 727[label="",style="dashed", color="red", weight=0]; 175.84/121.79 729[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];730[label="absReal1 (Neg (Succ vuz3000)) (not True)",fontsize=16,color="black",shape="box"];730 -> 766[label="",style="solid", color="black", weight=3]; 175.84/121.79 1883[label="vuz3000",fontsize=16,color="green",shape="box"];1884[label="vuz720",fontsize=16,color="green",shape="box"];1885[label="Succ vuz3000",fontsize=16,color="green",shape="box"];1882[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat vuz131 vuz132 == LT))",fontsize=16,color="burlywood",shape="triangle"];3577[label="vuz131/Succ vuz1310",fontsize=10,color="white",style="solid",shape="box"];1882 -> 3577[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3577 -> 1913[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3578[label="vuz131/Zero",fontsize=10,color="white",style="solid",shape="box"];1882 -> 3578[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3578 -> 1914[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 733[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];733 -> 769[label="",style="solid", color="black", weight=3]; 175.84/121.79 734[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];734 -> 770[label="",style="solid", color="black", weight=3]; 175.84/121.79 735[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz7200) Zero == LT))",fontsize=16,color="black",shape="box"];735 -> 771[label="",style="solid", color="black", weight=3]; 175.84/121.79 736 -> 734[label="",style="dashed", color="red", weight=0]; 175.84/121.79 736[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];737[label="Pos (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];737 -> 772[label="",style="dashed", color="green", weight=3]; 175.84/121.79 738 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 738[label="error []",fontsize=16,color="magenta"];739[label="Pos (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];739 -> 773[label="",style="dashed", color="green", weight=3]; 175.84/121.79 740 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 740[label="error []",fontsize=16,color="magenta"];741[label="Neg (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];741 -> 774[label="",style="dashed", color="green", weight=3]; 175.84/121.79 742 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 742[label="error []",fontsize=16,color="magenta"];743[label="Neg (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];743 -> 775[label="",style="dashed", color="green", weight=3]; 175.84/121.79 744 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 744[label="error []",fontsize=16,color="magenta"];682[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz3800)) (not (primCmpInt (Pos vuz3800) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos vuz3800)) (not (primCmpInt (Pos vuz3800) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3579[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];682 -> 3579[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3579 -> 711[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3580[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];682 -> 3580[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3580 -> 712[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 683[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz3800)) (not (primCmpInt (Neg vuz3800) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg vuz3800)) (not (primCmpInt (Neg vuz3800) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3581[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];683 -> 3581[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3581 -> 713[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3582[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 3582[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3582 -> 714[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1491[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) vuz106 == LT))",fontsize=16,color="burlywood",shape="box"];3583[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1491 -> 3583[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3583 -> 1503[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3584[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1491 -> 3584[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3584 -> 1504[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1492[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero vuz106 == LT))",fontsize=16,color="burlywood",shape="box"];3585[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1492 -> 3585[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3585 -> 1505[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3586[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1492 -> 3586[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3586 -> 1506[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 762[label="absReal1 (Pos (Succ vuz3000)) True",fontsize=16,color="black",shape="box"];762 -> 797[label="",style="solid", color="black", weight=3]; 175.84/121.79 763[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];763 -> 798[label="",style="solid", color="black", weight=3]; 175.84/121.79 764[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];764 -> 799[label="",style="solid", color="black", weight=3]; 175.84/121.79 765 -> 764[label="",style="dashed", color="red", weight=0]; 175.84/121.79 765[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];766[label="absReal1 (Neg (Succ vuz3000)) False",fontsize=16,color="black",shape="box"];766 -> 800[label="",style="solid", color="black", weight=3]; 175.84/121.79 1913[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) vuz132 == LT))",fontsize=16,color="burlywood",shape="box"];3587[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1913 -> 3587[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3587 -> 1935[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3588[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1913 -> 3588[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3588 -> 1936[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1914[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero vuz132 == LT))",fontsize=16,color="burlywood",shape="box"];3589[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1914 -> 3589[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3589 -> 1937[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3590[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1914 -> 3590[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3590 -> 1938[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 769[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];769 -> 803[label="",style="solid", color="black", weight=3]; 175.84/121.79 770[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];770 -> 804[label="",style="solid", color="black", weight=3]; 175.84/121.79 771[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];771 -> 805[label="",style="solid", color="black", weight=3]; 175.84/121.79 772[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="burlywood",shape="triangle"];3591[label="vuz690/Succ vuz6900",fontsize=10,color="white",style="solid",shape="box"];772 -> 3591[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3591 -> 806[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3592[label="vuz690/Zero",fontsize=10,color="white",style="solid",shape="box"];772 -> 3592[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3592 -> 807[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 773 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 773[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];773 -> 808[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 774 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 774[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];774 -> 809[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 775 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 775[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];775 -> 810[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 775 -> 811[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 711[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3593[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];711 -> 3593[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3593 -> 745[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3594[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];711 -> 3594[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3594 -> 746[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 712[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3595[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];712 -> 3595[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3595 -> 747[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3596[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];712 -> 3596[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3596 -> 748[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 713[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3597[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];713 -> 3597[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3597 -> 749[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3598[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];713 -> 3598[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3598 -> 750[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 714[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3599[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];714 -> 3599[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3599 -> 751[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3600[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];714 -> 3600[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3600 -> 752[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1503[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) (Succ vuz1060) == LT))",fontsize=16,color="black",shape="box"];1503 -> 1527[label="",style="solid", color="black", weight=3]; 175.84/121.79 1504[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) Zero == LT))",fontsize=16,color="black",shape="box"];1504 -> 1528[label="",style="solid", color="black", weight=3]; 175.84/121.79 1505[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero (Succ vuz1060) == LT))",fontsize=16,color="black",shape="box"];1505 -> 1529[label="",style="solid", color="black", weight=3]; 175.84/121.79 1506[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1506 -> 1530[label="",style="solid", color="black", weight=3]; 175.84/121.79 797[label="Pos (Succ vuz3000)",fontsize=16,color="green",shape="box"];798[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];798 -> 838[label="",style="solid", color="black", weight=3]; 175.84/121.79 799[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];799 -> 839[label="",style="solid", color="black", weight=3]; 175.84/121.79 800[label="absReal0 (Neg (Succ vuz3000)) otherwise",fontsize=16,color="black",shape="box"];800 -> 840[label="",style="solid", color="black", weight=3]; 175.84/121.79 1935[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) (Succ vuz1320) == LT))",fontsize=16,color="black",shape="box"];1935 -> 1987[label="",style="solid", color="black", weight=3]; 175.84/121.79 1936[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) Zero == LT))",fontsize=16,color="black",shape="box"];1936 -> 1988[label="",style="solid", color="black", weight=3]; 175.84/121.79 1937[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero (Succ vuz1320) == LT))",fontsize=16,color="black",shape="box"];1937 -> 1989[label="",style="solid", color="black", weight=3]; 175.84/121.79 1938[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1938 -> 1990[label="",style="solid", color="black", weight=3]; 175.84/121.79 803[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];803 -> 845[label="",style="solid", color="black", weight=3]; 175.84/121.79 804[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];804 -> 846[label="",style="solid", color="black", weight=3]; 175.84/121.79 805 -> 770[label="",style="dashed", color="red", weight=0]; 175.84/121.79 805[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];806[label="primModNatS (Succ vuz6900) (Succ vuz6800)",fontsize=16,color="black",shape="box"];806 -> 847[label="",style="solid", color="black", weight=3]; 175.84/121.79 807[label="primModNatS Zero (Succ vuz6800)",fontsize=16,color="black",shape="box"];807 -> 848[label="",style="solid", color="black", weight=3]; 175.84/121.79 808[label="vuz6800",fontsize=16,color="green",shape="box"];809[label="vuz690",fontsize=16,color="green",shape="box"];810[label="vuz6800",fontsize=16,color="green",shape="box"];811[label="vuz690",fontsize=16,color="green",shape="box"];745[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Pos vuz7100) == LT)))",fontsize=16,color="black",shape="box"];745 -> 776[label="",style="solid", color="black", weight=3]; 175.84/121.79 746[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Neg vuz7100) == LT)))",fontsize=16,color="black",shape="box"];746 -> 777[label="",style="solid", color="black", weight=3]; 175.84/121.79 747[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3601[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];747 -> 3601[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3601 -> 778[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3602[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];747 -> 3602[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3602 -> 779[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 748[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3603[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];748 -> 3603[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3603 -> 780[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3604[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];748 -> 3604[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3604 -> 781[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 749[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Pos vuz7100) == LT)))",fontsize=16,color="black",shape="box"];749 -> 782[label="",style="solid", color="black", weight=3]; 175.84/121.79 750[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Neg vuz7100) == LT)))",fontsize=16,color="black",shape="box"];750 -> 783[label="",style="solid", color="black", weight=3]; 175.84/121.79 751[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3605[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];751 -> 3605[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3605 -> 784[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3606[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];751 -> 3606[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3606 -> 785[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 752[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3607[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];752 -> 3607[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3607 -> 786[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3608[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];752 -> 3608[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3608 -> 787[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1527 -> 1467[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1527[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat vuz1050 vuz1060 == LT))",fontsize=16,color="magenta"];1527 -> 1560[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1527 -> 1561[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1528 -> 692[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1528[label="absReal1 (Pos (Succ vuz104)) (not (GT == LT))",fontsize=16,color="magenta"];1528 -> 1562[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1529[label="absReal1 (Pos (Succ vuz104)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1529 -> 1563[label="",style="solid", color="black", weight=3]; 175.84/121.79 1530[label="absReal1 (Pos (Succ vuz104)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1530 -> 1564[label="",style="solid", color="black", weight=3]; 175.84/121.79 838[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];838 -> 879[label="",style="solid", color="black", weight=3]; 175.84/121.79 839[label="Pos Zero",fontsize=16,color="green",shape="box"];840[label="absReal0 (Neg (Succ vuz3000)) True",fontsize=16,color="black",shape="box"];840 -> 880[label="",style="solid", color="black", weight=3]; 175.84/121.79 1987 -> 1882[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1987[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat vuz1310 vuz1320 == LT))",fontsize=16,color="magenta"];1987 -> 2043[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1987 -> 2044[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1988[label="absReal1 (Neg (Succ vuz130)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1988 -> 2045[label="",style="solid", color="black", weight=3]; 175.84/121.79 1989 -> 697[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1989[label="absReal1 (Neg (Succ vuz130)) (not (LT == LT))",fontsize=16,color="magenta"];1989 -> 2046[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1990[label="absReal1 (Neg (Succ vuz130)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1990 -> 2047[label="",style="solid", color="black", weight=3]; 175.84/121.79 845[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];845 -> 885[label="",style="solid", color="black", weight=3]; 175.84/121.79 846[label="Neg Zero",fontsize=16,color="green",shape="box"];847[label="primModNatS0 vuz6900 vuz6800 (primGEqNatS vuz6900 vuz6800)",fontsize=16,color="burlywood",shape="box"];3609[label="vuz6900/Succ vuz69000",fontsize=10,color="white",style="solid",shape="box"];847 -> 3609[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3609 -> 886[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3610[label="vuz6900/Zero",fontsize=10,color="white",style="solid",shape="box"];847 -> 3610[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3610 -> 887[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 848[label="Zero",fontsize=16,color="green",shape="box"];776 -> 2191[label="",style="dashed", color="red", weight=0]; 175.84/121.79 776[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpNat (Succ vuz38000) vuz7100 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpNat (Succ vuz38000) vuz7100 == LT)))",fontsize=16,color="magenta"];776 -> 2192[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 776 -> 2193[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 776 -> 2194[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 776 -> 2195[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 776 -> 2196[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 776 -> 2197[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 777[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (GT == LT)))",fontsize=16,color="black",shape="triangle"];777 -> 814[label="",style="solid", color="black", weight=3]; 175.84/121.79 778[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];778 -> 815[label="",style="solid", color="black", weight=3]; 175.84/121.79 779[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];779 -> 816[label="",style="solid", color="black", weight=3]; 175.84/121.79 780[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];780 -> 817[label="",style="solid", color="black", weight=3]; 175.84/121.79 781[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)))",fontsize=16,color="black",shape="box"];781 -> 818[label="",style="solid", color="black", weight=3]; 175.84/121.79 782[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (LT == LT)))",fontsize=16,color="black",shape="triangle"];782 -> 819[label="",style="solid", color="black", weight=3]; 175.84/121.79 783 -> 2301[label="",style="dashed", color="red", weight=0]; 175.84/121.79 783[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpNat vuz7100 (Succ vuz38000) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpNat vuz7100 (Succ vuz38000) == LT)))",fontsize=16,color="magenta"];783 -> 2302[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 783 -> 2303[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 783 -> 2304[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 783 -> 2305[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 783 -> 2306[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 783 -> 2307[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 784[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];784 -> 822[label="",style="solid", color="black", weight=3]; 175.84/121.79 785[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];785 -> 823[label="",style="solid", color="black", weight=3]; 175.84/121.79 786[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];786 -> 824[label="",style="solid", color="black", weight=3]; 175.84/121.79 787[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)))",fontsize=16,color="black",shape="box"];787 -> 825[label="",style="solid", color="black", weight=3]; 175.84/121.79 1560[label="vuz1050",fontsize=16,color="green",shape="box"];1561[label="vuz1060",fontsize=16,color="green",shape="box"];1562[label="vuz104",fontsize=16,color="green",shape="box"];1563[label="absReal1 (Pos (Succ vuz104)) (not True)",fontsize=16,color="black",shape="box"];1563 -> 1595[label="",style="solid", color="black", weight=3]; 175.84/121.79 1564 -> 725[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1564[label="absReal1 (Pos (Succ vuz104)) (not False)",fontsize=16,color="magenta"];1564 -> 1596[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 879[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];879 -> 922[label="",style="solid", color="black", weight=3]; 175.84/121.79 880[label="`negate` Neg (Succ vuz3000)",fontsize=16,color="black",shape="box"];880 -> 923[label="",style="solid", color="black", weight=3]; 175.84/121.79 2043[label="vuz1310",fontsize=16,color="green",shape="box"];2044[label="vuz1320",fontsize=16,color="green",shape="box"];2045[label="absReal1 (Neg (Succ vuz130)) (not False)",fontsize=16,color="black",shape="triangle"];2045 -> 2087[label="",style="solid", color="black", weight=3]; 175.84/121.79 2046[label="vuz130",fontsize=16,color="green",shape="box"];2047 -> 2045[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2047[label="absReal1 (Neg (Succ vuz130)) (not False)",fontsize=16,color="magenta"];885[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];885 -> 929[label="",style="solid", color="black", weight=3]; 175.84/121.79 886[label="primModNatS0 (Succ vuz69000) vuz6800 (primGEqNatS (Succ vuz69000) vuz6800)",fontsize=16,color="burlywood",shape="box"];3611[label="vuz6800/Succ vuz68000",fontsize=10,color="white",style="solid",shape="box"];886 -> 3611[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3611 -> 930[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3612[label="vuz6800/Zero",fontsize=10,color="white",style="solid",shape="box"];886 -> 3612[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3612 -> 931[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 887[label="primModNatS0 Zero vuz6800 (primGEqNatS Zero vuz6800)",fontsize=16,color="burlywood",shape="box"];3613[label="vuz6800/Succ vuz68000",fontsize=10,color="white",style="solid",shape="box"];887 -> 3613[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3613 -> 932[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3614[label="vuz6800/Zero",fontsize=10,color="white",style="solid",shape="box"];887 -> 3614[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3614 -> 933[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2192[label="vuz370",fontsize=16,color="green",shape="box"];2193[label="vuz7100",fontsize=16,color="green",shape="box"];2194[label="vuz62",fontsize=16,color="green",shape="box"];2195[label="vuz360",fontsize=16,color="green",shape="box"];2196[label="Succ vuz38000",fontsize=16,color="green",shape="box"];2197[label="vuz38000",fontsize=16,color="green",shape="box"];2191[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz143 vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz143 vuz144 == LT)))",fontsize=16,color="burlywood",shape="triangle"];3615[label="vuz143/Succ vuz1430",fontsize=10,color="white",style="solid",shape="box"];2191 -> 3615[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3615 -> 2252[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3616[label="vuz143/Zero",fontsize=10,color="white",style="solid",shape="box"];2191 -> 3616[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3616 -> 2253[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 814[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not False))",fontsize=16,color="black",shape="triangle"];814 -> 851[label="",style="solid", color="black", weight=3]; 175.84/121.79 815[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz71000) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz71000) == LT)))",fontsize=16,color="black",shape="box"];815 -> 852[label="",style="solid", color="black", weight=3]; 175.84/121.79 816[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="triangle"];816 -> 853[label="",style="solid", color="black", weight=3]; 175.84/121.79 817[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (GT == LT)))",fontsize=16,color="black",shape="box"];817 -> 854[label="",style="solid", color="black", weight=3]; 175.84/121.79 818 -> 816[label="",style="dashed", color="red", weight=0]; 175.84/121.79 818[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="magenta"];819[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not True))",fontsize=16,color="black",shape="box"];819 -> 855[label="",style="solid", color="black", weight=3]; 175.84/121.79 2302[label="vuz370",fontsize=16,color="green",shape="box"];2303[label="vuz7100",fontsize=16,color="green",shape="box"];2304[label="vuz360",fontsize=16,color="green",shape="box"];2305[label="vuz62",fontsize=16,color="green",shape="box"];2306[label="vuz38000",fontsize=16,color="green",shape="box"];2307[label="Succ vuz38000",fontsize=16,color="green",shape="box"];2301[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz153 vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz153 vuz154 == LT)))",fontsize=16,color="burlywood",shape="triangle"];3617[label="vuz153/Succ vuz1530",fontsize=10,color="white",style="solid",shape="box"];2301 -> 3617[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3617 -> 2362[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3618[label="vuz153/Zero",fontsize=10,color="white",style="solid",shape="box"];2301 -> 3618[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3618 -> 2363[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 822[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (LT == LT)))",fontsize=16,color="black",shape="box"];822 -> 858[label="",style="solid", color="black", weight=3]; 175.84/121.79 823[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="triangle"];823 -> 859[label="",style="solid", color="black", weight=3]; 175.84/121.79 824[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz71000) Zero == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz71000) Zero == LT)))",fontsize=16,color="black",shape="box"];824 -> 860[label="",style="solid", color="black", weight=3]; 175.84/121.79 825 -> 823[label="",style="dashed", color="red", weight=0]; 175.84/121.79 825[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="magenta"];1595[label="absReal1 (Pos (Succ vuz104)) False",fontsize=16,color="black",shape="box"];1595 -> 1619[label="",style="solid", color="black", weight=3]; 175.84/121.79 1596[label="vuz104",fontsize=16,color="green",shape="box"];922[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];922 -> 956[label="",style="solid", color="black", weight=3]; 175.84/121.79 923[label="primNegInt (Neg (Succ vuz3000))",fontsize=16,color="black",shape="triangle"];923 -> 957[label="",style="solid", color="black", weight=3]; 175.84/121.79 2087[label="absReal1 (Neg (Succ vuz130)) True",fontsize=16,color="black",shape="box"];2087 -> 2139[label="",style="solid", color="black", weight=3]; 175.84/121.79 929[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];929 -> 963[label="",style="solid", color="black", weight=3]; 175.84/121.79 930[label="primModNatS0 (Succ vuz69000) (Succ vuz68000) (primGEqNatS (Succ vuz69000) (Succ vuz68000))",fontsize=16,color="black",shape="box"];930 -> 964[label="",style="solid", color="black", weight=3]; 175.84/121.79 931[label="primModNatS0 (Succ vuz69000) Zero (primGEqNatS (Succ vuz69000) Zero)",fontsize=16,color="black",shape="box"];931 -> 965[label="",style="solid", color="black", weight=3]; 175.84/121.79 932[label="primModNatS0 Zero (Succ vuz68000) (primGEqNatS Zero (Succ vuz68000))",fontsize=16,color="black",shape="box"];932 -> 966[label="",style="solid", color="black", weight=3]; 175.84/121.79 933[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];933 -> 967[label="",style="solid", color="black", weight=3]; 175.84/121.79 2252[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) vuz144 == LT)))",fontsize=16,color="burlywood",shape="box"];3619[label="vuz144/Succ vuz1440",fontsize=10,color="white",style="solid",shape="box"];2252 -> 3619[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3619 -> 2267[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3620[label="vuz144/Zero",fontsize=10,color="white",style="solid",shape="box"];2252 -> 3620[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3620 -> 2268[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2253[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero vuz144 == LT)))",fontsize=16,color="burlywood",shape="box"];3621[label="vuz144/Succ vuz1440",fontsize=10,color="white",style="solid",shape="box"];2253 -> 3621[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3621 -> 2269[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3622[label="vuz144/Zero",fontsize=10,color="white",style="solid",shape="box"];2253 -> 3622[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3622 -> 2270[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 851[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) True)",fontsize=16,color="black",shape="box"];851 -> 940[label="",style="solid", color="black", weight=3]; 175.84/121.79 852[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (LT == LT)))",fontsize=16,color="black",shape="box"];852 -> 941[label="",style="solid", color="black", weight=3]; 175.84/121.79 853[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="triangle"];853 -> 942[label="",style="solid", color="black", weight=3]; 175.84/121.79 854 -> 853[label="",style="dashed", color="red", weight=0]; 175.84/121.79 854[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="magenta"];855[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) False)",fontsize=16,color="black",shape="box"];855 -> 943[label="",style="solid", color="black", weight=3]; 175.84/121.79 2362[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) vuz154 == LT)))",fontsize=16,color="burlywood",shape="box"];3623[label="vuz154/Succ vuz1540",fontsize=10,color="white",style="solid",shape="box"];2362 -> 3623[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3623 -> 2415[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3624[label="vuz154/Zero",fontsize=10,color="white",style="solid",shape="box"];2362 -> 3624[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3624 -> 2416[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2363[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero vuz154 == LT)))",fontsize=16,color="burlywood",shape="box"];3625[label="vuz154/Succ vuz1540",fontsize=10,color="white",style="solid",shape="box"];2363 -> 3625[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3625 -> 2417[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3626[label="vuz154/Zero",fontsize=10,color="white",style="solid",shape="box"];2363 -> 3626[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3626 -> 2418[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 858[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not True))",fontsize=16,color="black",shape="box"];858 -> 946[label="",style="solid", color="black", weight=3]; 175.84/121.79 859[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="triangle"];859 -> 947[label="",style="solid", color="black", weight=3]; 175.84/121.79 860[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (GT == LT)))",fontsize=16,color="black",shape="box"];860 -> 948[label="",style="solid", color="black", weight=3]; 175.84/121.79 1619[label="absReal0 (Pos (Succ vuz104)) otherwise",fontsize=16,color="black",shape="box"];1619 -> 1653[label="",style="solid", color="black", weight=3]; 175.84/121.79 956[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];956 -> 985[label="",style="solid", color="black", weight=3]; 175.84/121.79 957[label="Pos (Succ vuz3000)",fontsize=16,color="green",shape="box"];2139[label="Neg (Succ vuz130)",fontsize=16,color="green",shape="box"];963[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="triangle"];963 -> 991[label="",style="solid", color="black", weight=3]; 175.84/121.79 964 -> 2427[label="",style="dashed", color="red", weight=0]; 175.84/121.79 964[label="primModNatS0 (Succ vuz69000) (Succ vuz68000) (primGEqNatS vuz69000 vuz68000)",fontsize=16,color="magenta"];964 -> 2428[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 964 -> 2429[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 964 -> 2430[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 964 -> 2431[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 965[label="primModNatS0 (Succ vuz69000) Zero True",fontsize=16,color="black",shape="box"];965 -> 994[label="",style="solid", color="black", weight=3]; 175.84/121.79 966[label="primModNatS0 Zero (Succ vuz68000) False",fontsize=16,color="black",shape="box"];966 -> 995[label="",style="solid", color="black", weight=3]; 175.84/121.79 967[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];967 -> 996[label="",style="solid", color="black", weight=3]; 175.84/121.79 2267[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) (Succ vuz1440) == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) (Succ vuz1440) == LT)))",fontsize=16,color="black",shape="box"];2267 -> 2364[label="",style="solid", color="black", weight=3]; 175.84/121.79 2268[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) Zero == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) Zero == LT)))",fontsize=16,color="black",shape="box"];2268 -> 2365[label="",style="solid", color="black", weight=3]; 175.84/121.79 2269[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero (Succ vuz1440) == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero (Succ vuz1440) == LT)))",fontsize=16,color="black",shape="box"];2269 -> 2366[label="",style="solid", color="black", weight=3]; 175.84/121.79 2270[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero Zero == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero Zero == LT)))",fontsize=16,color="black",shape="box"];2270 -> 2367[label="",style="solid", color="black", weight=3]; 175.84/121.79 940 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 940[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz38000)) == vuz62) (abs (Integer vuz370)) (Integer (Pos (Succ vuz38000)))",fontsize=16,color="magenta"];940 -> 1151[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 940 -> 1152[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 941[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not True))",fontsize=16,color="black",shape="box"];941 -> 1005[label="",style="solid", color="black", weight=3]; 175.84/121.79 942[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];942 -> 1006[label="",style="solid", color="black", weight=3]; 175.84/121.79 943[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz38000))) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg (Succ vuz38000))) otherwise)",fontsize=16,color="black",shape="box"];943 -> 1007[label="",style="solid", color="black", weight=3]; 175.84/121.79 2415[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) (Succ vuz1540) == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) (Succ vuz1540) == LT)))",fontsize=16,color="black",shape="box"];2415 -> 2468[label="",style="solid", color="black", weight=3]; 175.84/121.79 2416[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) Zero == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) Zero == LT)))",fontsize=16,color="black",shape="box"];2416 -> 2469[label="",style="solid", color="black", weight=3]; 175.84/121.79 2417[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero (Succ vuz1540) == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero (Succ vuz1540) == LT)))",fontsize=16,color="black",shape="box"];2417 -> 2470[label="",style="solid", color="black", weight=3]; 175.84/121.79 2418[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero Zero == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero Zero == LT)))",fontsize=16,color="black",shape="box"];2418 -> 2471[label="",style="solid", color="black", weight=3]; 175.84/121.79 946[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) False)",fontsize=16,color="black",shape="box"];946 -> 1012[label="",style="solid", color="black", weight=3]; 175.84/121.79 947[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];947 -> 1013[label="",style="solid", color="black", weight=3]; 175.84/121.79 948 -> 859[label="",style="dashed", color="red", weight=0]; 175.84/121.79 948[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="magenta"];1653[label="absReal0 (Pos (Succ vuz104)) True",fontsize=16,color="black",shape="box"];1653 -> 1695[label="",style="solid", color="black", weight=3]; 175.84/121.79 985[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];985 -> 1029[label="",style="solid", color="black", weight=3]; 175.84/121.79 991[label="Pos Zero",fontsize=16,color="green",shape="box"];2428[label="vuz69000",fontsize=16,color="green",shape="box"];2429[label="vuz68000",fontsize=16,color="green",shape="box"];2430[label="vuz69000",fontsize=16,color="green",shape="box"];2431[label="vuz68000",fontsize=16,color="green",shape="box"];2427[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS vuz160 vuz161)",fontsize=16,color="burlywood",shape="triangle"];3627[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];2427 -> 3627[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3627 -> 2472[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3628[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];2427 -> 3628[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3628 -> 2473[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 994 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 994[label="primModNatS (primMinusNatS (Succ vuz69000) Zero) (Succ Zero)",fontsize=16,color="magenta"];994 -> 1039[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 994 -> 1040[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 995[label="Succ Zero",fontsize=16,color="green",shape="box"];996 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 996[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];996 -> 1041[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 996 -> 1042[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2364 -> 2191[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2364[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz1430 vuz1440 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz1430 vuz1440 == LT)))",fontsize=16,color="magenta"];2364 -> 2419[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2364 -> 2420[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2365 -> 777[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2365[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (GT == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (GT == LT)))",fontsize=16,color="magenta"];2365 -> 2421[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2365 -> 2422[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2365 -> 2423[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2365 -> 2424[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2366[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (LT == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];2366 -> 2425[label="",style="solid", color="black", weight=3]; 175.84/121.79 2367[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (EQ == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];2367 -> 2426[label="",style="solid", color="black", weight=3]; 175.84/121.79 1151 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1151[label="Integer (Pos (Succ vuz38000)) == vuz62",fontsize=16,color="magenta"];1151 -> 1167[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1151 -> 1168[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1152[label="Pos (Succ vuz38000)",fontsize=16,color="green",shape="box"];1150[label="Integer vuz360 `quot` gcd0Gcd'1 vuz93 (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="burlywood",shape="triangle"];3629[label="vuz93/False",fontsize=10,color="white",style="solid",shape="box"];1150 -> 3629[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3629 -> 1169[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3630[label="vuz93/True",fontsize=10,color="white",style="solid",shape="box"];1150 -> 3630[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3630 -> 1170[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1005[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) False)",fontsize=16,color="black",shape="box"];1005 -> 1047[label="",style="solid", color="black", weight=3]; 175.84/121.79 1006 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1006[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos Zero) == vuz62) (abs (Integer vuz370)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1006 -> 1155[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1006 -> 1156[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1007[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz38000))) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg (Succ vuz38000))) True)",fontsize=16,color="black",shape="box"];1007 -> 1052[label="",style="solid", color="black", weight=3]; 175.84/121.79 2468 -> 2301[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2468[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz1530 vuz1540 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz1530 vuz1540 == LT)))",fontsize=16,color="magenta"];2468 -> 2503[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2468 -> 2504[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2469[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (GT == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];2469 -> 2505[label="",style="solid", color="black", weight=3]; 175.84/121.79 2470 -> 782[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2470[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (LT == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (LT == LT)))",fontsize=16,color="magenta"];2470 -> 2506[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2470 -> 2507[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2470 -> 2508[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2470 -> 2509[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2471[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (EQ == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];2471 -> 2510[label="",style="solid", color="black", weight=3]; 175.84/121.79 1012[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg Zero)) otherwise)",fontsize=16,color="black",shape="box"];1012 -> 1057[label="",style="solid", color="black", weight=3]; 175.84/121.79 1013 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1013[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Neg Zero) == vuz62) (abs (Integer vuz370)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1013 -> 1157[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1013 -> 1158[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1695[label="`negate` Pos (Succ vuz104)",fontsize=16,color="black",shape="box"];1695 -> 1701[label="",style="solid", color="black", weight=3]; 175.84/121.79 1029[label="Neg Zero",fontsize=16,color="green",shape="box"];2472[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) vuz161)",fontsize=16,color="burlywood",shape="box"];3631[label="vuz161/Succ vuz1610",fontsize=10,color="white",style="solid",shape="box"];2472 -> 3631[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3631 -> 2511[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3632[label="vuz161/Zero",fontsize=10,color="white",style="solid",shape="box"];2472 -> 3632[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3632 -> 2512[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2473[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero vuz161)",fontsize=16,color="burlywood",shape="box"];3633[label="vuz161/Succ vuz1610",fontsize=10,color="white",style="solid",shape="box"];2473 -> 3633[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3633 -> 2513[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3634[label="vuz161/Zero",fontsize=10,color="white",style="solid",shape="box"];2473 -> 3634[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3634 -> 2514[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1039[label="Zero",fontsize=16,color="green",shape="box"];1040 -> 1022[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1040[label="primMinusNatS (Succ vuz69000) Zero",fontsize=16,color="magenta"];1040 -> 1080[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1040 -> 1081[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1041[label="Zero",fontsize=16,color="green",shape="box"];1042 -> 1022[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1042[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];1042 -> 1082[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1042 -> 1083[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2419[label="vuz1440",fontsize=16,color="green",shape="box"];2420[label="vuz1430",fontsize=16,color="green",shape="box"];2421[label="vuz145",fontsize=16,color="green",shape="box"];2422[label="vuz146",fontsize=16,color="green",shape="box"];2423[label="vuz142",fontsize=16,color="green",shape="box"];2424[label="vuz141",fontsize=16,color="green",shape="box"];2425[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not True) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not True))",fontsize=16,color="black",shape="box"];2425 -> 2474[label="",style="solid", color="black", weight=3]; 175.84/121.79 2426 -> 814[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2426[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not False) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not False))",fontsize=16,color="magenta"];2426 -> 2475[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2426 -> 2476[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2426 -> 2477[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2426 -> 2478[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1167[label="Pos (Succ vuz38000)",fontsize=16,color="green",shape="box"];1168[label="vuz62",fontsize=16,color="green",shape="box"];1169[label="Integer vuz360 `quot` gcd0Gcd'1 False (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1169 -> 1214[label="",style="solid", color="black", weight=3]; 175.84/121.79 1170[label="Integer vuz360 `quot` gcd0Gcd'1 True (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1170 -> 1215[label="",style="solid", color="black", weight=3]; 175.84/121.79 1047[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Pos Zero)) otherwise)",fontsize=16,color="black",shape="box"];1047 -> 1095[label="",style="solid", color="black", weight=3]; 175.84/121.79 1155 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1155[label="Integer (Pos Zero) == vuz62",fontsize=16,color="magenta"];1155 -> 1171[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1155 -> 1172[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1156[label="Pos Zero",fontsize=16,color="green",shape="box"];1052[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz38000)) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Neg (Succ vuz38000)))",fontsize=16,color="black",shape="box"];1052 -> 1100[label="",style="solid", color="black", weight=3]; 175.84/121.79 2503[label="vuz1530",fontsize=16,color="green",shape="box"];2504[label="vuz1540",fontsize=16,color="green",shape="box"];2505[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not False) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not False))",fontsize=16,color="black",shape="triangle"];2505 -> 2546[label="",style="solid", color="black", weight=3]; 175.84/121.79 2506[label="vuz155",fontsize=16,color="green",shape="box"];2507[label="vuz152",fontsize=16,color="green",shape="box"];2508[label="vuz156",fontsize=16,color="green",shape="box"];2509[label="vuz151",fontsize=16,color="green",shape="box"];2510 -> 2505[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2510[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not False) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not False))",fontsize=16,color="magenta"];1057[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];1057 -> 1106[label="",style="solid", color="black", weight=3]; 175.84/121.79 1157 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1157[label="Integer (Neg Zero) == vuz62",fontsize=16,color="magenta"];1157 -> 1173[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1157 -> 1174[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1158[label="Neg Zero",fontsize=16,color="green",shape="box"];1701[label="primNegInt (Pos (Succ vuz104))",fontsize=16,color="black",shape="triangle"];1701 -> 1704[label="",style="solid", color="black", weight=3]; 175.84/121.79 2511[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) (Succ vuz1610))",fontsize=16,color="black",shape="box"];2511 -> 2547[label="",style="solid", color="black", weight=3]; 175.84/121.79 2512[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) Zero)",fontsize=16,color="black",shape="box"];2512 -> 2548[label="",style="solid", color="black", weight=3]; 175.84/121.79 2513[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero (Succ vuz1610))",fontsize=16,color="black",shape="box"];2513 -> 2549[label="",style="solid", color="black", weight=3]; 175.84/121.79 2514[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2514 -> 2550[label="",style="solid", color="black", weight=3]; 175.84/121.79 1080[label="Succ vuz69000",fontsize=16,color="green",shape="box"];1081[label="Zero",fontsize=16,color="green",shape="box"];1082[label="Zero",fontsize=16,color="green",shape="box"];1083[label="Zero",fontsize=16,color="green",shape="box"];2474[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) False == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) False)",fontsize=16,color="black",shape="box"];2474 -> 2515[label="",style="solid", color="black", weight=3]; 175.84/121.79 2475[label="vuz145",fontsize=16,color="green",shape="box"];2476[label="vuz146",fontsize=16,color="green",shape="box"];2477[label="vuz142",fontsize=16,color="green",shape="box"];2478[label="vuz141",fontsize=16,color="green",shape="box"];1214[label="Integer vuz360 `quot` gcd0Gcd'0 (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1214 -> 1256[label="",style="solid", color="black", weight=3]; 175.84/121.79 1215[label="Integer vuz360 `quot` abs (Integer vuz370)",fontsize=16,color="black",shape="box"];1215 -> 1257[label="",style="solid", color="black", weight=3]; 175.84/121.79 1095[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];1095 -> 1147[label="",style="solid", color="black", weight=3]; 175.84/121.79 1171[label="Pos Zero",fontsize=16,color="green",shape="box"];1172[label="vuz62",fontsize=16,color="green",shape="box"];1100 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1100[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz38000))) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Neg (Succ vuz38000))))",fontsize=16,color="magenta"];1100 -> 1163[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1100 -> 1164[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2546[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) True == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) True)",fontsize=16,color="black",shape="box"];2546 -> 2555[label="",style="solid", color="black", weight=3]; 175.84/121.79 1106[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Neg Zero) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1106 -> 1180[label="",style="solid", color="black", weight=3]; 175.84/121.79 1173[label="Neg Zero",fontsize=16,color="green",shape="box"];1174[label="vuz62",fontsize=16,color="green",shape="box"];1704[label="Neg (Succ vuz104)",fontsize=16,color="green",shape="box"];2547 -> 2427[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2547[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS vuz1600 vuz1610)",fontsize=16,color="magenta"];2547 -> 2556[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2547 -> 2557[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2548[label="primModNatS0 (Succ vuz158) (Succ vuz159) True",fontsize=16,color="black",shape="triangle"];2548 -> 2558[label="",style="solid", color="black", weight=3]; 175.84/121.79 2549[label="primModNatS0 (Succ vuz158) (Succ vuz159) False",fontsize=16,color="black",shape="box"];2549 -> 2559[label="",style="solid", color="black", weight=3]; 175.84/121.79 2550 -> 2548[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2550[label="primModNatS0 (Succ vuz158) (Succ vuz159) True",fontsize=16,color="magenta"];2515[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz142))) otherwise == vuz145) (abs (Integer vuz146)) (absReal0 (Integer (Pos (Succ vuz142))) otherwise)",fontsize=16,color="black",shape="box"];2515 -> 2551[label="",style="solid", color="black", weight=3]; 175.84/121.79 1256[label="Integer vuz360 `quot` gcd0Gcd' (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1256 -> 1326[label="",style="solid", color="black", weight=3]; 175.84/121.79 1257[label="Integer vuz360 `quot` absReal (Integer vuz370)",fontsize=16,color="black",shape="box"];1257 -> 1327[label="",style="solid", color="black", weight=3]; 175.84/121.79 1147[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Pos Zero) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1147 -> 1210[label="",style="solid", color="black", weight=3]; 175.84/121.79 1163 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1163[label="Integer (primNegInt (Neg (Succ vuz38000))) == vuz62",fontsize=16,color="magenta"];1163 -> 1211[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1163 -> 1212[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1164 -> 923[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1164[label="primNegInt (Neg (Succ vuz38000))",fontsize=16,color="magenta"];1164 -> 1213[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2555 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2555[label="Integer vuz151 `quot` gcd0Gcd'1 (Integer (Neg (Succ vuz152)) == vuz155) (abs (Integer vuz156)) (Integer (Neg (Succ vuz152)))",fontsize=16,color="magenta"];2555 -> 2603[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2555 -> 2604[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2555 -> 2605[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2555 -> 2606[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1180 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1180[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg Zero)) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Neg Zero)))",fontsize=16,color="magenta"];1180 -> 1221[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1180 -> 1222[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2556[label="vuz1610",fontsize=16,color="green",shape="box"];2557[label="vuz1600",fontsize=16,color="green",shape="box"];2558 -> 772[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2558[label="primModNatS (primMinusNatS (Succ vuz158) (Succ vuz159)) (Succ (Succ vuz159))",fontsize=16,color="magenta"];2558 -> 2607[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2558 -> 2608[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2559[label="Succ (Succ vuz158)",fontsize=16,color="green",shape="box"];2551[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz142))) True == vuz145) (abs (Integer vuz146)) (absReal0 (Integer (Pos (Succ vuz142))) True)",fontsize=16,color="black",shape="box"];2551 -> 2560[label="",style="solid", color="black", weight=3]; 175.84/121.79 1326[label="Integer vuz360 `quot` gcd0Gcd'2 (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1326 -> 1368[label="",style="solid", color="black", weight=3]; 175.84/121.79 1327[label="Integer vuz360 `quot` absReal2 (Integer vuz370)",fontsize=16,color="black",shape="box"];1327 -> 1369[label="",style="solid", color="black", weight=3]; 175.84/121.79 1210 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1210[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos Zero)) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Pos Zero)))",fontsize=16,color="magenta"];1210 -> 1253[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1210 -> 1254[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1211 -> 923[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1211[label="primNegInt (Neg (Succ vuz38000))",fontsize=16,color="magenta"];1211 -> 1255[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1212[label="vuz62",fontsize=16,color="green",shape="box"];1213[label="vuz38000",fontsize=16,color="green",shape="box"];2603 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2603[label="Integer (Neg (Succ vuz152)) == vuz155",fontsize=16,color="magenta"];2603 -> 2641[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2603 -> 2642[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2604[label="vuz156",fontsize=16,color="green",shape="box"];2605[label="Neg (Succ vuz152)",fontsize=16,color="green",shape="box"];2606[label="vuz151",fontsize=16,color="green",shape="box"];1221 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1221[label="Integer (primNegInt (Neg Zero)) == vuz62",fontsize=16,color="magenta"];1221 -> 1265[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1221 -> 1266[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1222 -> 963[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1222[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];2607[label="Succ vuz159",fontsize=16,color="green",shape="box"];2608 -> 1022[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2608[label="primMinusNatS (Succ vuz158) (Succ vuz159)",fontsize=16,color="magenta"];2608 -> 2643[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2608 -> 2644[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2560[label="Integer vuz141 `quot` gcd0Gcd'1 (`negate` Integer (Pos (Succ vuz142)) == vuz145) (abs (Integer vuz146)) (`negate` Integer (Pos (Succ vuz142)))",fontsize=16,color="black",shape="box"];2560 -> 2609[label="",style="solid", color="black", weight=3]; 175.84/121.79 1368 -> 1405[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1368[label="Integer vuz360 `quot` gcd0Gcd'1 (abs (Integer vuz370) `rem` Integer vuz94 == fromInt (Pos Zero)) (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="magenta"];1368 -> 1406[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1369 -> 1411[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1369[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];1369 -> 1412[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1253 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1253[label="Integer (primNegInt (Pos Zero)) == vuz62",fontsize=16,color="magenta"];1253 -> 1335[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1253 -> 1336[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1254 -> 985[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1254[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];1255[label="vuz38000",fontsize=16,color="green",shape="box"];2641[label="Neg (Succ vuz152)",fontsize=16,color="green",shape="box"];2642[label="vuz155",fontsize=16,color="green",shape="box"];1265 -> 963[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1265[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];1266[label="vuz62",fontsize=16,color="green",shape="box"];2643[label="Succ vuz158",fontsize=16,color="green",shape="box"];2644[label="Succ vuz159",fontsize=16,color="green",shape="box"];2609 -> 1150[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2609[label="Integer vuz141 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos (Succ vuz142))) == vuz145) (abs (Integer vuz146)) (Integer (primNegInt (Pos (Succ vuz142))))",fontsize=16,color="magenta"];2609 -> 2645[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2609 -> 2646[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2609 -> 2647[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2609 -> 2648[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1406 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1406[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1405[label="Integer vuz360 `quot` gcd0Gcd'1 (abs (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1405 -> 1414[label="",style="solid", color="black", weight=3]; 175.84/121.79 1412 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1412[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1411[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (Integer vuz370 >= vuz102)",fontsize=16,color="black",shape="triangle"];1411 -> 1415[label="",style="solid", color="black", weight=3]; 175.84/121.79 1335 -> 985[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1335[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];1336[label="vuz62",fontsize=16,color="green",shape="box"];2645 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2645[label="Integer (primNegInt (Pos (Succ vuz142))) == vuz145",fontsize=16,color="magenta"];2645 -> 2673[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2645 -> 2674[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2646[label="vuz146",fontsize=16,color="green",shape="box"];2647 -> 1701[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2647[label="primNegInt (Pos (Succ vuz142))",fontsize=16,color="magenta"];2647 -> 2675[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2648[label="vuz141",fontsize=16,color="green",shape="box"];1414[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1414 -> 1449[label="",style="solid", color="black", weight=3]; 175.84/121.79 1415[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (compare (Integer vuz370) vuz102 /= LT)",fontsize=16,color="black",shape="box"];1415 -> 1450[label="",style="solid", color="black", weight=3]; 175.84/121.79 2673 -> 1701[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2673[label="primNegInt (Pos (Succ vuz142))",fontsize=16,color="magenta"];2673 -> 2703[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2674[label="vuz145",fontsize=16,color="green",shape="box"];2675[label="vuz142",fontsize=16,color="green",shape="box"];1449[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal2 (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal2 (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1449 -> 1493[label="",style="solid", color="black", weight=3]; 175.84/121.79 1450[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz102 == LT))",fontsize=16,color="burlywood",shape="box"];3635[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1450 -> 3635[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3635 -> 1494[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2703[label="vuz142",fontsize=16,color="green",shape="box"];1493 -> 1524[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1493[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1493 -> 1525[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1493 -> 1526[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1494[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1020) == LT))",fontsize=16,color="black",shape="box"];1494 -> 1532[label="",style="solid", color="black", weight=3]; 175.84/121.79 1525 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1525[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1526 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1526[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1524[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (Integer vuz370 >= vuz110) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (Integer vuz370 >= vuz109) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1524 -> 1559[label="",style="solid", color="black", weight=3]; 175.84/121.79 1532[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3636[label="vuz370/Pos vuz3700",fontsize=10,color="white",style="solid",shape="box"];1532 -> 3636[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3636 -> 1566[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3637[label="vuz370/Neg vuz3700",fontsize=10,color="white",style="solid",shape="box"];1532 -> 3637[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3637 -> 1567[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1559[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (compare (Integer vuz370) vuz110 /= LT) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (compare (Integer vuz370) vuz110 /= LT) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1559 -> 1594[label="",style="solid", color="black", weight=3]; 175.84/121.79 1566[label="Integer vuz360 `quot` absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3638[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1566 -> 3638[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3638 -> 1597[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3639[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1566 -> 3639[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3639 -> 1598[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1567[label="Integer vuz360 `quot` absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3640[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1567 -> 3640[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3640 -> 1599[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3641[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1567 -> 3641[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3641 -> 1600[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1594[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz110 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz110 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3642[label="vuz110/Integer vuz1100",fontsize=10,color="white",style="solid",shape="box"];1594 -> 3642[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3642 -> 1635[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1597[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3643[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1597 -> 3643[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3643 -> 1636[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3644[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1597 -> 3644[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3644 -> 1637[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1598[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3645[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1598 -> 3645[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3645 -> 1638[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3646[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1598 -> 3646[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3646 -> 1639[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1599[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3647[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1599 -> 3647[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3647 -> 1640[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3648[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1599 -> 3648[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3648 -> 1641[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1600[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3649[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1600 -> 3649[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3649 -> 1642[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3650[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1600 -> 3650[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3650 -> 1643[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1635[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1100) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1100) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1635 -> 1671[label="",style="solid", color="black", weight=3]; 175.84/121.79 1636[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz10200) == LT))",fontsize=16,color="black",shape="box"];1636 -> 1672[label="",style="solid", color="black", weight=3]; 175.84/121.79 1637[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz10200) == LT))",fontsize=16,color="black",shape="box"];1637 -> 1673[label="",style="solid", color="black", weight=3]; 175.84/121.79 1638[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3651[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1638 -> 3651[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3651 -> 1674[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3652[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1638 -> 3652[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3652 -> 1675[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1639[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3653[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1639 -> 3653[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3653 -> 1676[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3654[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1639 -> 3654[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3654 -> 1677[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1640[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz10200) == LT))",fontsize=16,color="black",shape="box"];1640 -> 1678[label="",style="solid", color="black", weight=3]; 175.84/121.79 1641[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz10200) == LT))",fontsize=16,color="black",shape="box"];1641 -> 1679[label="",style="solid", color="black", weight=3]; 175.84/121.79 1642[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3655[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1642 -> 3655[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3655 -> 1680[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3656[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1642 -> 3656[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3656 -> 1681[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1643[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3657[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1643 -> 3657[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3657 -> 1682[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3658[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1643 -> 3658[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3658 -> 1683[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1671[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3659[label="vuz370/Pos vuz3700",fontsize=10,color="white",style="solid",shape="box"];1671 -> 3659[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3659 -> 1715[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3660[label="vuz370/Neg vuz3700",fontsize=10,color="white",style="solid",shape="box"];1671 -> 3660[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3660 -> 1716[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1672 -> 3027[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1672[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz10200 == LT))",fontsize=16,color="magenta"];1672 -> 3028[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1672 -> 3029[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1672 -> 3030[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1672 -> 3031[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1673[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];1673 -> 1719[label="",style="solid", color="black", weight=3]; 175.84/121.79 1674[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1674 -> 1720[label="",style="solid", color="black", weight=3]; 175.84/121.79 1675[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1675 -> 1721[label="",style="solid", color="black", weight=3]; 175.84/121.79 1676[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1676 -> 1722[label="",style="solid", color="black", weight=3]; 175.84/121.79 1677[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];1677 -> 1723[label="",style="solid", color="black", weight=3]; 175.84/121.79 1678[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];1678 -> 1724[label="",style="solid", color="black", weight=3]; 175.84/121.79 1679 -> 3072[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1679[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz10200 (Succ vuz37000) == LT))",fontsize=16,color="magenta"];1679 -> 3073[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1679 -> 3074[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1679 -> 3075[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1679 -> 3076[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1680[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1680 -> 1727[label="",style="solid", color="black", weight=3]; 175.84/121.79 1681[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1681 -> 1728[label="",style="solid", color="black", weight=3]; 175.84/121.79 1682[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1682 -> 1729[label="",style="solid", color="black", weight=3]; 175.84/121.79 1683[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];1683 -> 1730[label="",style="solid", color="black", weight=3]; 175.84/121.79 1715[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3661[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1715 -> 3661[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3661 -> 1756[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3662[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1715 -> 3662[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3662 -> 1757[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1716[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3663[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1716 -> 3663[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3663 -> 1758[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3664[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1716 -> 3664[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3664 -> 1759[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3028[label="vuz37000",fontsize=16,color="green",shape="box"];3029[label="vuz10200",fontsize=16,color="green",shape="box"];3030[label="vuz360",fontsize=16,color="green",shape="box"];3031[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3027[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat vuz179 vuz180 == LT))",fontsize=16,color="burlywood",shape="triangle"];3665[label="vuz179/Succ vuz1790",fontsize=10,color="white",style="solid",shape="box"];3027 -> 3665[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3665 -> 3068[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3666[label="vuz179/Zero",fontsize=10,color="white",style="solid",shape="box"];3027 -> 3666[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3666 -> 3069[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1719[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not False)",fontsize=16,color="black",shape="triangle"];1719 -> 1762[label="",style="solid", color="black", weight=3]; 175.84/121.79 1720[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz102000) == LT))",fontsize=16,color="black",shape="box"];1720 -> 1763[label="",style="solid", color="black", weight=3]; 175.84/121.79 1721[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];1721 -> 1764[label="",style="solid", color="black", weight=3]; 175.84/121.79 1722[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1722 -> 1765[label="",style="solid", color="black", weight=3]; 175.84/121.79 1723 -> 1721[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1723[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="magenta"];1724[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not True)",fontsize=16,color="black",shape="box"];1724 -> 1766[label="",style="solid", color="black", weight=3]; 175.84/121.79 3073[label="vuz360",fontsize=16,color="green",shape="box"];3074[label="vuz10200",fontsize=16,color="green",shape="box"];3075[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3076[label="vuz37000",fontsize=16,color="green",shape="box"];3072[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat vuz184 vuz185 == LT))",fontsize=16,color="burlywood",shape="triangle"];3667[label="vuz184/Succ vuz1840",fontsize=10,color="white",style="solid",shape="box"];3072 -> 3667[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3667 -> 3113[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3668[label="vuz184/Zero",fontsize=10,color="white",style="solid",shape="box"];3072 -> 3668[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3668 -> 3114[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1727[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1727 -> 1769[label="",style="solid", color="black", weight=3]; 175.84/121.79 1728[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];1728 -> 1770[label="",style="solid", color="black", weight=3]; 175.84/121.79 1729[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1729 -> 1771[label="",style="solid", color="black", weight=3]; 175.84/121.79 1730 -> 1728[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1730[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="magenta"];1756[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3669[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1756 -> 3669[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3669 -> 1795[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3670[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1756 -> 3670[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3670 -> 1796[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1757[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3671[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1757 -> 3671[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3671 -> 1797[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3672[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1757 -> 3672[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3672 -> 1798[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1758[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3673[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1758 -> 3673[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3673 -> 1799[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3674[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1758 -> 3674[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3674 -> 1800[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1759[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3675[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1759 -> 3675[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3675 -> 1801[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3676[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1759 -> 3676[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3676 -> 1802[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3068[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) vuz180 == LT))",fontsize=16,color="burlywood",shape="box"];3677[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];3068 -> 3677[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3677 -> 3115[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3678[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];3068 -> 3678[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3678 -> 3116[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3069[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero vuz180 == LT))",fontsize=16,color="burlywood",shape="box"];3679[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];3069 -> 3679[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3679 -> 3117[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3680[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];3069 -> 3680[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3680 -> 3118[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1762[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) True",fontsize=16,color="black",shape="box"];1762 -> 1805[label="",style="solid", color="black", weight=3]; 175.84/121.79 1763[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1763 -> 1806[label="",style="solid", color="black", weight=3]; 175.84/121.79 1764[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="triangle"];1764 -> 1807[label="",style="solid", color="black", weight=3]; 175.84/121.79 1765 -> 1764[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1765[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="magenta"];1766[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) False",fontsize=16,color="black",shape="box"];1766 -> 1808[label="",style="solid", color="black", weight=3]; 175.84/121.79 3113[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) vuz185 == LT))",fontsize=16,color="burlywood",shape="box"];3681[label="vuz185/Succ vuz1850",fontsize=10,color="white",style="solid",shape="box"];3113 -> 3681[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3681 -> 3134[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3682[label="vuz185/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 3682[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3682 -> 3135[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3114[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero vuz185 == LT))",fontsize=16,color="burlywood",shape="box"];3683[label="vuz185/Succ vuz1850",fontsize=10,color="white",style="solid",shape="box"];3114 -> 3683[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3683 -> 3136[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3684[label="vuz185/Zero",fontsize=10,color="white",style="solid",shape="box"];3114 -> 3684[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3684 -> 3137[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1769[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not True)",fontsize=16,color="black",shape="box"];1769 -> 1811[label="",style="solid", color="black", weight=3]; 175.84/121.79 1770[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="triangle"];1770 -> 1812[label="",style="solid", color="black", weight=3]; 175.84/121.79 1771[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1771 -> 1813[label="",style="solid", color="black", weight=3]; 175.84/121.79 1795[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1795 -> 1849[label="",style="solid", color="black", weight=3]; 175.84/121.79 1796[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1796 -> 1850[label="",style="solid", color="black", weight=3]; 175.84/121.79 1797[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3685[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1797 -> 3685[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3685 -> 1851[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3686[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1797 -> 3686[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3686 -> 1852[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1798[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3687[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1798 -> 3687[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3687 -> 1853[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3688[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1798 -> 3688[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3688 -> 1854[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1799[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1799 -> 1855[label="",style="solid", color="black", weight=3]; 175.84/121.79 1800[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1800 -> 1856[label="",style="solid", color="black", weight=3]; 175.84/121.79 1801[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3689[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1801 -> 3689[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3689 -> 1857[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3690[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1801 -> 3690[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3690 -> 1858[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1802[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3691[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1802 -> 3691[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3691 -> 1859[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3692[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1802 -> 3692[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3692 -> 1860[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3115[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) (Succ vuz1800) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3138[label="",style="solid", color="black", weight=3]; 175.84/121.79 3116[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) Zero == LT))",fontsize=16,color="black",shape="box"];3116 -> 3139[label="",style="solid", color="black", weight=3]; 175.84/121.79 3117[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero (Succ vuz1800) == LT))",fontsize=16,color="black",shape="box"];3117 -> 3140[label="",style="solid", color="black", weight=3]; 175.84/121.79 3118[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];3118 -> 3141[label="",style="solid", color="black", weight=3]; 175.84/121.79 1805 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1805[label="Integer vuz360 `quot` Integer (Pos (Succ vuz37000))",fontsize=16,color="magenta"];1805 -> 2083[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1806[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not True)",fontsize=16,color="black",shape="box"];1806 -> 1866[label="",style="solid", color="black", weight=3]; 175.84/121.79 1807[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1807 -> 1867[label="",style="solid", color="black", weight=3]; 175.84/121.79 1808[label="Integer vuz360 `quot` absReal0 (Integer (Neg (Succ vuz37000))) otherwise",fontsize=16,color="black",shape="box"];1808 -> 1868[label="",style="solid", color="black", weight=3]; 175.84/121.79 3134[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) (Succ vuz1850) == LT))",fontsize=16,color="black",shape="box"];3134 -> 3156[label="",style="solid", color="black", weight=3]; 175.84/121.79 3135[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) Zero == LT))",fontsize=16,color="black",shape="box"];3135 -> 3157[label="",style="solid", color="black", weight=3]; 175.84/121.79 3136[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero (Succ vuz1850) == LT))",fontsize=16,color="black",shape="box"];3136 -> 3158[label="",style="solid", color="black", weight=3]; 175.84/121.79 3137[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];3137 -> 3159[label="",style="solid", color="black", weight=3]; 175.84/121.79 1811[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) False",fontsize=16,color="black",shape="box"];1811 -> 1873[label="",style="solid", color="black", weight=3]; 175.84/121.79 1812[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1812 -> 1874[label="",style="solid", color="black", weight=3]; 175.84/121.79 1813 -> 1770[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1813[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="magenta"];1849 -> 3186[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1849[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz11000 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz11000 == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1849 -> 3187[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1849 -> 3188[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1849 -> 3189[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1849 -> 3190[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1849 -> 3191[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1849 -> 3192[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1850[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1850 -> 1950[label="",style="solid", color="black", weight=3]; 175.84/121.79 1851[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1851 -> 1951[label="",style="solid", color="black", weight=3]; 175.84/121.79 1852[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1852 -> 1952[label="",style="solid", color="black", weight=3]; 175.84/121.79 1853[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1853 -> 1953[label="",style="solid", color="black", weight=3]; 175.84/121.79 1854[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1854 -> 1954[label="",style="solid", color="black", weight=3]; 175.84/121.79 1855[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1855 -> 1955[label="",style="solid", color="black", weight=3]; 175.84/121.79 1856 -> 3251[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1856[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz11000 (Succ vuz37000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz11000 (Succ vuz37000) == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1856 -> 3252[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1856 -> 3253[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1856 -> 3254[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1856 -> 3255[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1856 -> 3256[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1856 -> 3257[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1857[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1857 -> 1958[label="",style="solid", color="black", weight=3]; 175.84/121.79 1858[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1858 -> 1959[label="",style="solid", color="black", weight=3]; 175.84/121.79 1859[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1859 -> 1960[label="",style="solid", color="black", weight=3]; 175.84/121.79 1860[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1860 -> 1961[label="",style="solid", color="black", weight=3]; 175.84/121.79 3138 -> 3027[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3138[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat vuz1790 vuz1800 == LT))",fontsize=16,color="magenta"];3138 -> 3160[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3138 -> 3161[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3139 -> 1673[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3139[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (GT == LT))",fontsize=16,color="magenta"];3139 -> 3162[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3139 -> 3163[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3140[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (LT == LT))",fontsize=16,color="black",shape="box"];3140 -> 3164[label="",style="solid", color="black", weight=3]; 175.84/121.79 3141[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3141 -> 3165[label="",style="solid", color="black", weight=3]; 175.84/121.79 2083[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2082[label="Integer vuz360 `quot` Integer vuz136",fontsize=16,color="black",shape="triangle"];2082 -> 2088[label="",style="solid", color="black", weight=3]; 175.84/121.79 1866[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) False",fontsize=16,color="black",shape="box"];1866 -> 1967[label="",style="solid", color="black", weight=3]; 175.84/121.79 1867 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1867[label="Integer vuz360 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];1867 -> 2084[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 1868[label="Integer vuz360 `quot` absReal0 (Integer (Neg (Succ vuz37000))) True",fontsize=16,color="black",shape="box"];1868 -> 1969[label="",style="solid", color="black", weight=3]; 175.84/121.79 3156 -> 3072[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3156[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat vuz1840 vuz1850 == LT))",fontsize=16,color="magenta"];3156 -> 3177[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3156 -> 3178[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3157[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (GT == LT))",fontsize=16,color="black",shape="box"];3157 -> 3179[label="",style="solid", color="black", weight=3]; 175.84/121.79 3158 -> 1678[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3158[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (LT == LT))",fontsize=16,color="magenta"];3158 -> 3180[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3158 -> 3181[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3159[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3159 -> 3182[label="",style="solid", color="black", weight=3]; 175.84/121.79 1873[label="Integer vuz360 `quot` absReal0 (Integer (Neg Zero)) otherwise",fontsize=16,color="black",shape="box"];1873 -> 1974[label="",style="solid", color="black", weight=3]; 175.84/121.79 1874 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1874[label="Integer vuz360 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];1874 -> 2085[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3187[label="vuz360",fontsize=16,color="green",shape="box"];3188[label="vuz37000",fontsize=16,color="green",shape="box"];3189[label="vuz11000",fontsize=16,color="green",shape="box"];3190[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3191[label="vuz94",fontsize=16,color="green",shape="box"];3192[label="vuz101",fontsize=16,color="green",shape="box"];3186[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz189 vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz189 vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="triangle"];3693[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];3186 -> 3693[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3693 -> 3247[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3694[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];3186 -> 3694[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3694 -> 3248[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1950[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1950 -> 2003[label="",style="solid", color="black", weight=3]; 175.84/121.79 1951[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz110000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz110000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1951 -> 2004[label="",style="solid", color="black", weight=3]; 175.84/121.79 1952[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1952 -> 2005[label="",style="solid", color="black", weight=3]; 175.84/121.79 1953[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1953 -> 2006[label="",style="solid", color="black", weight=3]; 175.84/121.79 1954 -> 1952[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1954[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1955[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1955 -> 2007[label="",style="solid", color="black", weight=3]; 175.84/121.79 3252[label="vuz360",fontsize=16,color="green",shape="box"];3253[label="vuz11000",fontsize=16,color="green",shape="box"];3254[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3255[label="vuz101",fontsize=16,color="green",shape="box"];3256[label="vuz94",fontsize=16,color="green",shape="box"];3257[label="vuz37000",fontsize=16,color="green",shape="box"];3251[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz196 vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz196 vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="triangle"];3695[label="vuz196/Succ vuz1960",fontsize=10,color="white",style="solid",shape="box"];3251 -> 3695[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3695 -> 3312[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3696[label="vuz196/Zero",fontsize=10,color="white",style="solid",shape="box"];3251 -> 3696[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3696 -> 3313[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 1958[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1958 -> 2010[label="",style="solid", color="black", weight=3]; 175.84/121.79 1959[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1959 -> 2011[label="",style="solid", color="black", weight=3]; 175.84/121.79 1960[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz110000) Zero == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz110000) Zero == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1960 -> 2012[label="",style="solid", color="black", weight=3]; 175.84/121.79 1961 -> 1959[label="",style="dashed", color="red", weight=0]; 175.84/121.79 1961[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];3160[label="vuz1800",fontsize=16,color="green",shape="box"];3161[label="vuz1790",fontsize=16,color="green",shape="box"];3162[label="vuz178",fontsize=16,color="green",shape="box"];3163[label="vuz177",fontsize=16,color="green",shape="box"];3164[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not True)",fontsize=16,color="black",shape="box"];3164 -> 3183[label="",style="solid", color="black", weight=3]; 175.84/121.79 3165 -> 1719[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3165[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not False)",fontsize=16,color="magenta"];3165 -> 3184[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3165 -> 3185[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2088[label="Integer (primQuotInt vuz360 vuz136)",fontsize=16,color="green",shape="box"];2088 -> 2141[label="",style="dashed", color="green", weight=3]; 175.84/121.79 1967[label="Integer vuz360 `quot` absReal0 (Integer (Pos Zero)) otherwise",fontsize=16,color="black",shape="box"];1967 -> 2020[label="",style="solid", color="black", weight=3]; 175.84/121.79 2084[label="Pos Zero",fontsize=16,color="green",shape="box"];1969[label="Integer vuz360 `quot` (`negate` Integer (Neg (Succ vuz37000)))",fontsize=16,color="black",shape="box"];1969 -> 2022[label="",style="solid", color="black", weight=3]; 175.84/121.79 3177[label="vuz1840",fontsize=16,color="green",shape="box"];3178[label="vuz1850",fontsize=16,color="green",shape="box"];3179[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3249[label="",style="solid", color="black", weight=3]; 175.84/121.79 3180[label="vuz182",fontsize=16,color="green",shape="box"];3181[label="vuz183",fontsize=16,color="green",shape="box"];3182 -> 3179[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3182[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not False)",fontsize=16,color="magenta"];1974[label="Integer vuz360 `quot` absReal0 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1974 -> 2028[label="",style="solid", color="black", weight=3]; 175.84/121.79 2085[label="Neg Zero",fontsize=16,color="green",shape="box"];3247[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="box"];3697[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];3247 -> 3697[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3697 -> 3314[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3698[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];3247 -> 3698[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3698 -> 3315[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3248[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="box"];3699[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];3248 -> 3699[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3699 -> 3316[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3700[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];3248 -> 3700[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3700 -> 3317[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2003[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2003 -> 2062[label="",style="solid", color="black", weight=3]; 175.84/121.79 2004[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2004 -> 2063[label="",style="solid", color="black", weight=3]; 175.84/121.79 2005[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2005 -> 2064[label="",style="solid", color="black", weight=3]; 175.84/121.79 2006 -> 2005[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2006[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="magenta"];2007[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2007 -> 2065[label="",style="solid", color="black", weight=3]; 175.84/121.79 3312[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="box"];3701[label="vuz197/Succ vuz1970",fontsize=10,color="white",style="solid",shape="box"];3312 -> 3701[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3701 -> 3320[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3702[label="vuz197/Zero",fontsize=10,color="white",style="solid",shape="box"];3312 -> 3702[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3702 -> 3321[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3313[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="box"];3703[label="vuz197/Succ vuz1970",fontsize=10,color="white",style="solid",shape="box"];3313 -> 3703[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3703 -> 3322[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3704[label="vuz197/Zero",fontsize=10,color="white",style="solid",shape="box"];3313 -> 3704[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3704 -> 3323[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2010[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2010 -> 2068[label="",style="solid", color="black", weight=3]; 175.84/121.79 2011[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2011 -> 2069[label="",style="solid", color="black", weight=3]; 175.84/121.79 2012[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2012 -> 2070[label="",style="solid", color="black", weight=3]; 175.84/121.79 3183[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) False",fontsize=16,color="black",shape="box"];3183 -> 3250[label="",style="solid", color="black", weight=3]; 175.84/121.79 3184[label="vuz178",fontsize=16,color="green",shape="box"];3185[label="vuz177",fontsize=16,color="green",shape="box"];2141[label="primQuotInt vuz360 vuz136",fontsize=16,color="burlywood",shape="box"];3705[label="vuz360/Pos vuz3600",fontsize=10,color="white",style="solid",shape="box"];2141 -> 3705[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3705 -> 2189[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3706[label="vuz360/Neg vuz3600",fontsize=10,color="white",style="solid",shape="box"];2141 -> 3706[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3706 -> 2190[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2020[label="Integer vuz360 `quot` absReal0 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];2020 -> 2079[label="",style="solid", color="black", weight=3]; 175.84/121.79 2022 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2022[label="Integer vuz360 `quot` Integer (primNegInt (Neg (Succ vuz37000)))",fontsize=16,color="magenta"];2022 -> 2086[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3249[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) True",fontsize=16,color="black",shape="box"];3249 -> 3318[label="",style="solid", color="black", weight=3]; 175.84/121.79 2028[label="Integer vuz360 `quot` (`negate` Integer (Neg Zero))",fontsize=16,color="black",shape="box"];2028 -> 2094[label="",style="solid", color="black", weight=3]; 175.84/121.79 3314[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) (Succ vuz1900) == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) (Succ vuz1900) == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3314 -> 3324[label="",style="solid", color="black", weight=3]; 175.84/121.79 3315[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) Zero == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) Zero == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3315 -> 3325[label="",style="solid", color="black", weight=3]; 175.84/121.79 3316[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero (Succ vuz1900) == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero (Succ vuz1900) == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3316 -> 3326[label="",style="solid", color="black", weight=3]; 175.84/121.79 3317[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3317 -> 3327[label="",style="solid", color="black", weight=3]; 175.84/121.79 2062 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2062[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz37000)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Pos (Succ vuz37000)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2062 -> 2495[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2062 -> 2496[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2063[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2063 -> 2156[label="",style="solid", color="black", weight=3]; 175.84/121.79 2064[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2064 -> 2157[label="",style="solid", color="black", weight=3]; 175.84/121.79 2065[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz37000))) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg (Succ vuz37000))) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2065 -> 2158[label="",style="solid", color="black", weight=3]; 175.84/121.79 3320[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) (Succ vuz1970) == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) (Succ vuz1970) == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3320 -> 3331[label="",style="solid", color="black", weight=3]; 175.84/121.79 3321[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) Zero == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) Zero == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3321 -> 3332[label="",style="solid", color="black", weight=3]; 175.84/121.79 3322[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero (Succ vuz1970) == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero (Succ vuz1970) == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3322 -> 3333[label="",style="solid", color="black", weight=3]; 175.84/121.79 3323[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3323 -> 3334[label="",style="solid", color="black", weight=3]; 175.84/121.79 2068[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2068 -> 2163[label="",style="solid", color="black", weight=3]; 175.84/121.79 2069[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2069 -> 2164[label="",style="solid", color="black", weight=3]; 175.84/121.79 2070 -> 2011[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2070[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="magenta"];3250[label="Integer vuz177 `quot` absReal0 (Integer (Pos (Succ vuz178))) otherwise",fontsize=16,color="black",shape="box"];3250 -> 3319[label="",style="solid", color="black", weight=3]; 175.84/121.79 2189[label="primQuotInt (Pos vuz3600) vuz136",fontsize=16,color="burlywood",shape="box"];3707[label="vuz136/Pos vuz1360",fontsize=10,color="white",style="solid",shape="box"];2189 -> 3707[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3707 -> 2256[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3708[label="vuz136/Neg vuz1360",fontsize=10,color="white",style="solid",shape="box"];2189 -> 3708[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3708 -> 2257[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2190[label="primQuotInt (Neg vuz3600) vuz136",fontsize=16,color="burlywood",shape="box"];3709[label="vuz136/Pos vuz1360",fontsize=10,color="white",style="solid",shape="box"];2190 -> 3709[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3709 -> 2258[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3710[label="vuz136/Neg vuz1360",fontsize=10,color="white",style="solid",shape="box"];2190 -> 3710[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3710 -> 2259[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2079[label="Integer vuz360 `quot` (`negate` Integer (Pos Zero))",fontsize=16,color="black",shape="box"];2079 -> 2170[label="",style="solid", color="black", weight=3]; 175.84/121.79 2086 -> 923[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2086[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2086 -> 2171[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3318 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3318[label="Integer vuz182 `quot` Integer (Neg (Succ vuz183))",fontsize=16,color="magenta"];3318 -> 3328[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3318 -> 3329[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2094 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2094[label="Integer vuz360 `quot` Integer (primNegInt (Neg Zero))",fontsize=16,color="magenta"];2094 -> 2177[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3324 -> 3186[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3324[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz1890 vuz1900 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz1890 vuz1900 == LT)) `rem` Integer vuz191)",fontsize=16,color="magenta"];3324 -> 3335[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3324 -> 3336[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3325 -> 1850[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3325[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (GT == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (GT == LT)) `rem` Integer vuz191)",fontsize=16,color="magenta"];3325 -> 3337[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3325 -> 3338[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3325 -> 3339[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3325 -> 3340[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3326[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (LT == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (LT == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3326 -> 3341[label="",style="solid", color="black", weight=3]; 175.84/121.79 3327[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (EQ == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (EQ == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3327 -> 3342[label="",style="solid", color="black", weight=3]; 175.84/121.79 2495[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2496[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2494[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer vuz163 `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer vuz162 `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2494 -> 2516[label="",style="solid", color="black", weight=3]; 175.84/121.79 2156[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2156 -> 2271[label="",style="solid", color="black", weight=3]; 175.84/121.79 2157 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2157[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Pos Zero) `rem` Integer vuz94)",fontsize=16,color="magenta"];2157 -> 2497[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2157 -> 2498[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2158[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz37000))) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg (Succ vuz37000))) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2158 -> 2273[label="",style="solid", color="black", weight=3]; 175.84/121.79 3331 -> 3251[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3331[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz1960 vuz1970 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz1960 vuz1970 == LT)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3331 -> 3344[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3331 -> 3345[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3332[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (GT == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (GT == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3332 -> 3346[label="",style="solid", color="black", weight=3]; 175.84/121.79 3333 -> 1855[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3333[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (LT == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (LT == LT)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3333 -> 3347[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3333 -> 3348[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3333 -> 3349[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3333 -> 3350[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3334[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (EQ == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (EQ == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3334 -> 3351[label="",style="solid", color="black", weight=3]; 175.84/121.79 2163[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg Zero)) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2163 -> 2278[label="",style="solid", color="black", weight=3]; 175.84/121.79 2164 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2164[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Neg Zero) `rem` Integer vuz94)",fontsize=16,color="magenta"];2164 -> 2499[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2164 -> 2500[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3319[label="Integer vuz177 `quot` absReal0 (Integer (Pos (Succ vuz178))) True",fontsize=16,color="black",shape="box"];3319 -> 3330[label="",style="solid", color="black", weight=3]; 175.84/121.79 2256[label="primQuotInt (Pos vuz3600) (Pos vuz1360)",fontsize=16,color="burlywood",shape="box"];3711[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2256 -> 3711[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3711 -> 2286[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3712[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2256 -> 3712[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3712 -> 2287[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2257[label="primQuotInt (Pos vuz3600) (Neg vuz1360)",fontsize=16,color="burlywood",shape="box"];3713[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2257 -> 3713[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3713 -> 2288[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3714[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2257 -> 3714[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3714 -> 2289[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2258[label="primQuotInt (Neg vuz3600) (Pos vuz1360)",fontsize=16,color="burlywood",shape="box"];3715[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2258 -> 3715[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3715 -> 2290[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3716[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2258 -> 3716[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3716 -> 2291[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2259[label="primQuotInt (Neg vuz3600) (Neg vuz1360)",fontsize=16,color="burlywood",shape="box"];3717[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2259 -> 3717[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3717 -> 2292[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3718[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2259 -> 3718[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3718 -> 2293[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2170 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2170[label="Integer vuz360 `quot` Integer (primNegInt (Pos Zero))",fontsize=16,color="magenta"];2170 -> 2294[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2171[label="vuz37000",fontsize=16,color="green",shape="box"];3328[label="Neg (Succ vuz183)",fontsize=16,color="green",shape="box"];3329[label="vuz182",fontsize=16,color="green",shape="box"];2177 -> 963[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2177[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];3335[label="vuz1900",fontsize=16,color="green",shape="box"];3336[label="vuz1890",fontsize=16,color="green",shape="box"];3337[label="vuz192",fontsize=16,color="green",shape="box"];3338[label="vuz188",fontsize=16,color="green",shape="box"];3339[label="vuz191",fontsize=16,color="green",shape="box"];3340[label="vuz187",fontsize=16,color="green",shape="box"];3341[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not True) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not True) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3341 -> 3352[label="",style="solid", color="black", weight=3]; 175.84/121.79 3342 -> 1950[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3342[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not False) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not False) `rem` Integer vuz191)",fontsize=16,color="magenta"];3342 -> 3353[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3342 -> 3354[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3342 -> 3355[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3342 -> 3356[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2516 -> 2552[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2516[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primRemInt vuz163 vuz94) == vuz101) (Integer vuz94) (Integer (primRemInt vuz163 vuz94))",fontsize=16,color="magenta"];2516 -> 2553[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2516 -> 2554[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2271[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Pos Zero)) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2271 -> 2383[label="",style="solid", color="black", weight=3]; 175.84/121.79 2497[label="Pos Zero",fontsize=16,color="green",shape="box"];2498[label="Pos Zero",fontsize=16,color="green",shape="box"];2273[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz37000))) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Neg (Succ vuz37000))) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2273 -> 2386[label="",style="solid", color="black", weight=3]; 175.84/121.79 3344[label="vuz1960",fontsize=16,color="green",shape="box"];3345[label="vuz1970",fontsize=16,color="green",shape="box"];3346[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198)",fontsize=16,color="black",shape="triangle"];3346 -> 3359[label="",style="solid", color="black", weight=3]; 175.84/121.79 3347[label="vuz199",fontsize=16,color="green",shape="box"];3348[label="vuz198",fontsize=16,color="green",shape="box"];3349[label="vuz194",fontsize=16,color="green",shape="box"];3350[label="vuz195",fontsize=16,color="green",shape="box"];3351 -> 3346[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3351[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198)",fontsize=16,color="magenta"];2278[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2278 -> 2392[label="",style="solid", color="black", weight=3]; 175.84/121.79 2499[label="Neg Zero",fontsize=16,color="green",shape="box"];2500[label="Neg Zero",fontsize=16,color="green",shape="box"];3330[label="Integer vuz177 `quot` (`negate` Integer (Pos (Succ vuz178)))",fontsize=16,color="black",shape="box"];3330 -> 3343[label="",style="solid", color="black", weight=3]; 175.84/121.79 2286[label="primQuotInt (Pos vuz3600) (Pos (Succ vuz13600))",fontsize=16,color="black",shape="box"];2286 -> 2402[label="",style="solid", color="black", weight=3]; 175.84/121.79 2287[label="primQuotInt (Pos vuz3600) (Pos Zero)",fontsize=16,color="black",shape="box"];2287 -> 2403[label="",style="solid", color="black", weight=3]; 175.84/121.79 2288[label="primQuotInt (Pos vuz3600) (Neg (Succ vuz13600))",fontsize=16,color="black",shape="box"];2288 -> 2404[label="",style="solid", color="black", weight=3]; 175.84/121.79 2289[label="primQuotInt (Pos vuz3600) (Neg Zero)",fontsize=16,color="black",shape="box"];2289 -> 2405[label="",style="solid", color="black", weight=3]; 175.84/121.79 2290[label="primQuotInt (Neg vuz3600) (Pos (Succ vuz13600))",fontsize=16,color="black",shape="box"];2290 -> 2406[label="",style="solid", color="black", weight=3]; 175.84/121.79 2291[label="primQuotInt (Neg vuz3600) (Pos Zero)",fontsize=16,color="black",shape="box"];2291 -> 2407[label="",style="solid", color="black", weight=3]; 175.84/121.79 2292[label="primQuotInt (Neg vuz3600) (Neg (Succ vuz13600))",fontsize=16,color="black",shape="box"];2292 -> 2408[label="",style="solid", color="black", weight=3]; 175.84/121.79 2293[label="primQuotInt (Neg vuz3600) (Neg Zero)",fontsize=16,color="black",shape="box"];2293 -> 2409[label="",style="solid", color="black", weight=3]; 175.84/121.79 2294 -> 985[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2294[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];3352[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) False `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) False `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3352 -> 3360[label="",style="solid", color="black", weight=3]; 175.84/121.79 3353[label="vuz192",fontsize=16,color="green",shape="box"];3354[label="vuz188",fontsize=16,color="green",shape="box"];3355[label="vuz191",fontsize=16,color="green",shape="box"];3356[label="vuz187",fontsize=16,color="green",shape="box"];2553 -> 642[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2553[label="primRemInt vuz163 vuz94",fontsize=16,color="magenta"];2553 -> 2561[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2553 -> 2562[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2554 -> 211[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2554[label="Integer (primRemInt vuz163 vuz94) == vuz101",fontsize=16,color="magenta"];2554 -> 2563[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2554 -> 2564[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2552[label="Integer vuz360 `quot` gcd0Gcd'1 vuz164 (Integer vuz94) (Integer vuz165)",fontsize=16,color="burlywood",shape="triangle"];3719[label="vuz164/False",fontsize=10,color="white",style="solid",shape="box"];2552 -> 3719[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3719 -> 2565[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 3720[label="vuz164/True",fontsize=10,color="white",style="solid",shape="box"];2552 -> 3720[label="",style="solid", color="burlywood", weight=9]; 175.84/121.79 3720 -> 2566[label="",style="solid", color="burlywood", weight=3]; 175.84/121.79 2383[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Pos Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2383 -> 2489[label="",style="solid", color="black", weight=3]; 175.84/121.79 2386 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2386[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz37000))) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Neg (Succ vuz37000))) `rem` Integer vuz94)",fontsize=16,color="magenta"];2386 -> 2501[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2386 -> 2502[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3359[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) True `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) True `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3359 -> 3362[label="",style="solid", color="black", weight=3]; 175.84/121.79 2392[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Neg Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Neg Zero)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2392 -> 2522[label="",style="solid", color="black", weight=3]; 175.84/121.79 3343 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3343[label="Integer vuz177 `quot` Integer (primNegInt (Pos (Succ vuz178)))",fontsize=16,color="magenta"];3343 -> 3357[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3343 -> 3358[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2402[label="Pos (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2402 -> 2529[label="",style="dashed", color="green", weight=3]; 175.84/121.79 2403 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2403[label="error []",fontsize=16,color="magenta"];2404[label="Neg (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2404 -> 2530[label="",style="dashed", color="green", weight=3]; 175.84/121.79 2405 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2405[label="error []",fontsize=16,color="magenta"];2406[label="Neg (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2406 -> 2531[label="",style="dashed", color="green", weight=3]; 175.84/121.79 2407 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2407[label="error []",fontsize=16,color="magenta"];2408[label="Pos (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2408 -> 2532[label="",style="dashed", color="green", weight=3]; 175.84/121.79 2409 -> 484[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2409[label="error []",fontsize=16,color="magenta"];3360[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz188))) otherwise `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal0 (Integer (Pos (Succ vuz188))) otherwise `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3360 -> 3363[label="",style="solid", color="black", weight=3]; 175.84/121.79 2561[label="vuz94",fontsize=16,color="green",shape="box"];2562[label="vuz163",fontsize=16,color="green",shape="box"];2563 -> 642[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2563[label="primRemInt vuz163 vuz94",fontsize=16,color="magenta"];2563 -> 2610[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2563 -> 2611[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2564[label="vuz101",fontsize=16,color="green",shape="box"];2565[label="Integer vuz360 `quot` gcd0Gcd'1 False (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2565 -> 2612[label="",style="solid", color="black", weight=3]; 175.84/121.79 2566[label="Integer vuz360 `quot` gcd0Gcd'1 True (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2566 -> 2613[label="",style="solid", color="black", weight=3]; 175.84/121.79 2489[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2489 -> 2543[label="",style="solid", color="black", weight=3]; 175.84/121.79 2501 -> 923[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2501[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2501 -> 2544[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2502 -> 923[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2502[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2502 -> 2545[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3362 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3362[label="Integer vuz194 `quot` gcd0Gcd'1 (Integer (Neg (Succ vuz195)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (Integer (Neg (Succ vuz195)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3362 -> 3364[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3362 -> 3365[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3362 -> 3366[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3362 -> 3367[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3362 -> 3368[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2522 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2522[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Neg Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2522 -> 2572[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2522 -> 2573[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3357 -> 1701[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3357[label="primNegInt (Pos (Succ vuz178))",fontsize=16,color="magenta"];3357 -> 3361[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3358[label="vuz177",fontsize=16,color="green",shape="box"];2529 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2529[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2529 -> 2581[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2529 -> 2582[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2530 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2530[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2530 -> 2583[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2530 -> 2584[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2531 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2531[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2531 -> 2585[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2531 -> 2586[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2532 -> 497[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2532[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2532 -> 2587[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2532 -> 2588[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3363[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz188))) True `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal0 (Integer (Pos (Succ vuz188))) True `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3363 -> 3369[label="",style="solid", color="black", weight=3]; 175.84/121.79 2610[label="vuz94",fontsize=16,color="green",shape="box"];2611[label="vuz163",fontsize=16,color="green",shape="box"];2612[label="Integer vuz360 `quot` gcd0Gcd'0 (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2612 -> 2649[label="",style="solid", color="black", weight=3]; 175.84/121.79 2613 -> 2082[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2613[label="Integer vuz360 `quot` Integer vuz94",fontsize=16,color="magenta"];2613 -> 2650[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2543 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2543[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2543 -> 2601[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2543 -> 2602[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2544[label="vuz37000",fontsize=16,color="green",shape="box"];2545[label="vuz37000",fontsize=16,color="green",shape="box"];3364[label="Neg (Succ vuz195)",fontsize=16,color="green",shape="box"];3365[label="vuz199",fontsize=16,color="green",shape="box"];3366[label="vuz198",fontsize=16,color="green",shape="box"];3367[label="Neg (Succ vuz195)",fontsize=16,color="green",shape="box"];3368[label="vuz194",fontsize=16,color="green",shape="box"];2572 -> 963[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2572[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];2573 -> 963[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2573[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];3361[label="vuz178",fontsize=16,color="green",shape="box"];2581[label="vuz3600",fontsize=16,color="green",shape="box"];2582[label="vuz13600",fontsize=16,color="green",shape="box"];2583[label="vuz3600",fontsize=16,color="green",shape="box"];2584[label="vuz13600",fontsize=16,color="green",shape="box"];2585[label="vuz3600",fontsize=16,color="green",shape="box"];2586[label="vuz13600",fontsize=16,color="green",shape="box"];2587[label="vuz3600",fontsize=16,color="green",shape="box"];2588[label="vuz13600",fontsize=16,color="green",shape="box"];3369[label="Integer vuz187 `quot` gcd0Gcd'1 ((`negate` Integer (Pos (Succ vuz188))) `rem` Integer vuz191 == vuz192) (Integer vuz191) ((`negate` Integer (Pos (Succ vuz188))) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3369 -> 3370[label="",style="solid", color="black", weight=3]; 175.84/121.79 2649[label="Integer vuz360 `quot` gcd0Gcd' (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="black",shape="box"];2649 -> 2676[label="",style="solid", color="black", weight=3]; 175.84/121.79 2650[label="vuz94",fontsize=16,color="green",shape="box"];2601 -> 985[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2601[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];2602 -> 985[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2602[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];3370 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3370[label="Integer vuz187 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos (Succ vuz188))) `rem` Integer vuz191 == vuz192) (Integer vuz191) (Integer (primNegInt (Pos (Succ vuz188))) `rem` Integer vuz191)",fontsize=16,color="magenta"];3370 -> 3371[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3370 -> 3372[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3370 -> 3373[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3370 -> 3374[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3370 -> 3375[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2676[label="Integer vuz360 `quot` gcd0Gcd'2 (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="black",shape="box"];2676 -> 2704[label="",style="solid", color="black", weight=3]; 175.84/121.79 3371 -> 1701[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3371[label="primNegInt (Pos (Succ vuz188))",fontsize=16,color="magenta"];3371 -> 3376[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3372[label="vuz192",fontsize=16,color="green",shape="box"];3373[label="vuz191",fontsize=16,color="green",shape="box"];3374 -> 1701[label="",style="dashed", color="red", weight=0]; 175.84/121.79 3374[label="primNegInt (Pos (Succ vuz188))",fontsize=16,color="magenta"];3374 -> 3377[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3375[label="vuz187",fontsize=16,color="green",shape="box"];2704 -> 2494[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2704[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer vuz94 `rem` Integer vuz165 == fromInt (Pos Zero)) (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="magenta"];2704 -> 2734[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2704 -> 2735[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2704 -> 2736[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 2704 -> 2737[label="",style="dashed", color="magenta", weight=3]; 175.84/121.79 3376[label="vuz188",fontsize=16,color="green",shape="box"];3377[label="vuz188",fontsize=16,color="green",shape="box"];2734[label="vuz94",fontsize=16,color="green",shape="box"];2735 -> 12[label="",style="dashed", color="red", weight=0]; 175.84/121.79 2735[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2736[label="vuz165",fontsize=16,color="green",shape="box"];2737[label="vuz94",fontsize=16,color="green",shape="box"];} 175.84/121.79 175.84/121.79 ---------------------------------------- 175.84/121.79 175.84/121.79 (12) 175.84/121.79 Complex Obligation (AND) 175.84/121.79 175.84/121.79 ---------------------------------------- 175.84/121.79 175.84/121.79 (13) 175.84/121.79 Obligation: 175.84/121.79 Q DP problem: 175.84/121.79 The TRS P consists of the following rules: 175.84/121.79 175.84/121.79 new_quot1(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot2(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) 175.84/121.79 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, new_fromInt0, vuz94) 175.84/121.79 175.84/121.79 The TRS R consists of the following rules: 175.84/121.79 175.84/121.79 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.79 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.79 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.79 new_primEqNat0(Zero, Zero) -> True 175.84/121.79 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.79 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.79 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.79 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.79 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.79 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.79 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.79 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.79 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.79 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.79 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.79 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.79 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.79 new_error -> error([]) 175.84/121.79 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.79 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.79 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.79 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.79 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.79 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.79 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.79 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.79 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.79 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.79 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.79 new_fromInt0 -> Integer(Pos(Zero)) 175.84/121.79 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.79 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.79 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.79 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.79 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.79 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.79 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.79 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.79 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.79 175.84/121.79 The set Q consists of the following terms: 175.84/121.79 175.84/121.79 new_primEqNat0(Zero, Zero) 175.84/121.79 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.79 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.79 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.79 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.79 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.79 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.79 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.79 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.79 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.79 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.79 new_primModNatS1(Zero, x0) 175.84/121.79 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.79 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.79 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.79 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.79 new_error 175.84/121.79 new_primModNatS1(Succ(Zero), Zero) 175.84/121.79 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.79 new_primEqNat0(Zero, Succ(x0)) 175.84/121.79 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.79 new_primModNatS01(x0, x1) 175.84/121.79 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.79 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.79 new_fromInt0 175.84/121.79 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.79 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.79 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.79 new_primEqNat0(Succ(x0), Zero) 175.84/121.79 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.79 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.79 new_primMinusNatS0(Zero, Zero) 175.84/121.79 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.79 new_esEs0(x0, Integer(x1)) 175.84/121.79 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.79 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.79 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.79 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.79 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.79 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.79 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.79 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.79 175.84/121.79 We have to consider all minimal (P,Q,R)-chains. 175.84/121.79 ---------------------------------------- 175.84/121.79 175.84/121.79 (14) TransformationProof (EQUIVALENT) 175.84/121.79 By rewriting [LPAR04] the rule new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, new_fromInt0, vuz94) at position [3] we obtained the following new rules [LPAR04]: 175.84/121.79 175.84/121.79 (new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94),new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94)) 175.84/121.79 175.84/121.79 175.84/121.79 ---------------------------------------- 175.84/121.79 175.84/121.79 (15) 175.84/121.79 Obligation: 175.84/121.79 Q DP problem: 175.84/121.79 The TRS P consists of the following rules: 175.84/121.79 175.84/121.79 new_quot1(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot2(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) 175.84/121.79 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.79 175.84/121.79 The TRS R consists of the following rules: 175.84/121.79 175.84/121.79 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.79 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.79 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.79 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.79 new_primEqNat0(Zero, Zero) -> True 175.84/121.79 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.80 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_fromInt0 -> Integer(Pos(Zero)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_fromInt0 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (16) UsableRulesProof (EQUIVALENT) 175.84/121.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (17) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot1(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot2(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqNat0(Zero, Zero) -> True 175.84/121.80 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.80 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.80 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_fromInt0 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (18) QReductionProof (EQUIVALENT) 175.84/121.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 175.84/121.80 175.84/121.80 new_fromInt0 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (19) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot1(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot2(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqNat0(Zero, Zero) -> True 175.84/121.80 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.80 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.80 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (20) TransformationProof (EQUIVALENT) 175.84/121.80 By instantiating [LPAR04] the rule new_quot1(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot2(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) we obtained the following new rules [LPAR04]: 175.84/121.80 175.84/121.80 (new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_esEs0(new_primRemInt(z1, z2), Integer(Pos(Zero))), z2, new_primRemInt(z1, z2)),new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_esEs0(new_primRemInt(z1, z2), Integer(Pos(Zero))), z2, new_primRemInt(z1, z2))) 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (21) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_esEs0(new_primRemInt(z1, z2), Integer(Pos(Zero))), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqNat0(Zero, Zero) -> True 175.84/121.80 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.80 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.80 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (22) TransformationProof (EQUIVALENT) 175.84/121.80 By rewriting [LPAR04] the rule new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_esEs0(new_primRemInt(z1, z2), Integer(Pos(Zero))), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: 175.84/121.80 175.84/121.80 (new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)),new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2))) 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (23) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqNat0(Zero, Zero) -> True 175.84/121.80 new_primEqNat0(Succ(vuz27000), Zero) -> False 175.84/121.80 new_primEqNat0(Zero, Succ(vuz26000)) -> False 175.84/121.80 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (24) UsableRulesProof (EQUIVALENT) 175.84/121.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (25) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (26) QReductionProof (EQUIVALENT) 175.84/121.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 175.84/121.80 175.84/121.80 new_primEqNat0(Zero, Zero) 175.84/121.80 new_primEqNat0(Succ(x0), Succ(x1)) 175.84/121.80 new_primEqNat0(Zero, Succ(x0)) 175.84/121.80 new_primEqNat0(Succ(x0), Zero) 175.84/121.80 new_esEs0(x0, Integer(x1)) 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (27) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (28) InductionCalculusProof (EQUIVALENT) 175.84/121.80 Note that final constraints are written in bold face. 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 For Pair new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) the following chains were created: 175.84/121.80 *We consider the chain new_quot2(x3, False, x4, x5) -> new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4), new_quot1(x6, x7, x8, Integer(Pos(Zero)), x7) -> new_quot2(x6, new_primEqInt(new_primRemInt(x7, x8), Pos(Zero)), x8, new_primRemInt(x7, x8)) which results in the following constraint: 175.84/121.80 175.84/121.80 (1) (new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)=new_quot1(x6, x7, x8, Integer(Pos(Zero)), x7) ==> new_quot2(x3, False, x4, x5)_>=_new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (2) (new_quot2(x3, False, x4, x5)_>=_new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 For Pair new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) the following chains were created: 175.84/121.80 *We consider the chain new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10) -> new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11)), new_quot2(x12, False, x13, x14) -> new_quot1(x12, x13, x14, Integer(Pos(Zero)), x13) which results in the following constraint: 175.84/121.80 175.84/121.80 (1) (new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))=new_quot2(x12, False, x13, x14) ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (2) (new_primRemInt(x10, x11)=x18 & Pos(Zero)=x19 & new_primEqInt(x18, x19)=False ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x18, x19)=False which results in the following new constraints: 175.84/121.80 175.84/121.80 (3) (False=False & new_primRemInt(x10, x11)=Pos(Succ(x20)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 (4) (False=False & new_primRemInt(x10, x11)=Neg(Succ(x22)) & Pos(Zero)=Pos(x21) ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 175.84/121.80 175.84/121.80 (5) (new_primRemInt(x10, x11)=Pos(Succ(x20)) ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (6) (new_primRemInt(x10, x11)=Neg(Succ(x22)) ==> new_quot1(x9, x10, x11, Integer(Pos(Zero)), x10)_>=_new_quot2(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Pos(Succ(x20)) which results in the following new constraints: 175.84/121.80 175.84/121.80 (7) (Pos(new_primModNatS1(x24, x23))=Pos(Succ(x20)) ==> new_quot1(x9, Pos(x24), Neg(Succ(x23)), Integer(Pos(Zero)), Pos(x24))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) 175.84/121.80 175.84/121.80 (8) (Pos(new_primModNatS1(x26, x25))=Pos(Succ(x20)) ==> new_quot1(x9, Pos(x26), Pos(Succ(x25)), Integer(Pos(Zero)), Pos(x26))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) 175.84/121.80 175.84/121.80 (9) (new_error=Pos(Succ(x20)) ==> new_quot1(x9, Neg(x27), Neg(Zero), Integer(Pos(Zero)), Neg(x27))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x27), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x27), Neg(Zero)))) 175.84/121.80 175.84/121.80 (10) (new_error=Pos(Succ(x20)) ==> new_quot1(x9, Pos(x30), Pos(Zero), Integer(Pos(Zero)), Pos(x30))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x30), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x30), Pos(Zero)))) 175.84/121.80 175.84/121.80 (11) (new_error=Pos(Succ(x20)) ==> new_quot1(x9, Pos(x33), Neg(Zero), Integer(Pos(Zero)), Pos(x33))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x33), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x33), Neg(Zero)))) 175.84/121.80 175.84/121.80 (12) (new_error=Pos(Succ(x20)) ==> new_quot1(x9, Neg(x34), Pos(Zero), Integer(Pos(Zero)), Neg(x34))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x34), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x34), Pos(Zero)))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 175.84/121.80 175.84/121.80 (13) (new_primModNatS1(x24, x23)=Succ(x20) ==> new_quot1(x9, Pos(x24), Neg(Succ(x23)), Integer(Pos(Zero)), Pos(x24))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 175.84/121.80 175.84/121.80 (14) (new_primModNatS1(x26, x25)=Succ(x20) ==> new_quot1(x9, Pos(x26), Pos(Succ(x25)), Integer(Pos(Zero)), Pos(x26))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 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(x24, x23)=Succ(x20) which results in the following new constraints: 175.84/121.80 175.84/121.80 (15) (Succ(Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) 175.84/121.80 175.84/121.80 (16) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 (17) (new_primModNatS1(new_primMinusNatS0(Succ(x37), Zero), Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x37))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 (18) (new_primModNatS02(x39, x38, x39, x38)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38))), Integer(Pos(Zero)), Pos(Succ(Succ(x39))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38)))), Pos(Zero)), Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (19) (new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (20) (new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (21) (new_quot1(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x37))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (22) (new_quot1(x9, Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49))), Integer(Pos(Zero)), Pos(Succ(Succ(x48))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49)))), Pos(Zero)), Neg(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x26, x25)=Succ(x20) which results in the following new constraints: 175.84/121.80 175.84/121.80 (23) (Succ(Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x50))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))), Pos(Zero)), Pos(Succ(Succ(x50))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))))) 175.84/121.80 175.84/121.80 (24) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 (25) (new_primModNatS1(new_primMinusNatS0(Succ(x52), Zero), Zero)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Succ(x52))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x52))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 (26) (new_primModNatS02(x54, x53, x54, x53)=Succ(x20) ==> new_quot1(x9, Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53))), Integer(Pos(Zero)), Pos(Succ(Succ(x54))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53)))), Pos(Zero)), Pos(Succ(Succ(x53))), new_primRemInt(Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (27) (new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x50))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))), Pos(Zero)), Pos(Succ(Succ(x50))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (28) (new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (29) (new_quot1(x9, Pos(Succ(Succ(x52))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x52))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (30) (new_quot1(x9, Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64))), Integer(Pos(Zero)), Pos(Succ(Succ(x63))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64)))), Pos(Zero)), Pos(Succ(Succ(x64))), new_primRemInt(Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Neg(Succ(x22)) which results in the following new constraints: 175.84/121.80 175.84/121.80 (31) (new_error=Neg(Succ(x22)) ==> new_quot1(x9, Neg(x69), Neg(Zero), Integer(Pos(Zero)), Neg(x69))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x69), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x69), Neg(Zero)))) 175.84/121.80 175.84/121.80 (32) (Neg(new_primModNatS1(x71, x70))=Neg(Succ(x22)) ==> new_quot1(x9, Neg(x71), Pos(Succ(x70)), Integer(Pos(Zero)), Neg(x71))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x71), Pos(Succ(x70))), Pos(Zero)), Pos(Succ(x70)), new_primRemInt(Neg(x71), Pos(Succ(x70))))) 175.84/121.80 175.84/121.80 (33) (new_error=Neg(Succ(x22)) ==> new_quot1(x9, Pos(x72), Pos(Zero), Integer(Pos(Zero)), Pos(x72))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x72), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x72), Pos(Zero)))) 175.84/121.80 175.84/121.80 (34) (Neg(new_primModNatS1(x74, x73))=Neg(Succ(x22)) ==> new_quot1(x9, Neg(x74), Neg(Succ(x73)), Integer(Pos(Zero)), Neg(x74))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x74), Neg(Succ(x73))), Pos(Zero)), Neg(Succ(x73)), new_primRemInt(Neg(x74), Neg(Succ(x73))))) 175.84/121.80 175.84/121.80 (35) (new_error=Neg(Succ(x22)) ==> new_quot1(x9, Pos(x75), Neg(Zero), Integer(Pos(Zero)), Pos(x75))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(x75), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x75), Neg(Zero)))) 175.84/121.80 175.84/121.80 (36) (new_error=Neg(Succ(x22)) ==> new_quot1(x9, Neg(x76), Pos(Zero), Integer(Pos(Zero)), Neg(x76))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x76), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x76), Pos(Zero)))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 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: 175.84/121.80 175.84/121.80 (37) (new_primModNatS1(x71, x70)=Succ(x22) ==> new_quot1(x9, Neg(x71), Pos(Succ(x70)), Integer(Pos(Zero)), Neg(x71))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x71), Pos(Succ(x70))), Pos(Zero)), Pos(Succ(x70)), new_primRemInt(Neg(x71), Pos(Succ(x70))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 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: 175.84/121.80 175.84/121.80 (38) (new_primModNatS1(x74, x73)=Succ(x22) ==> new_quot1(x9, Neg(x74), Neg(Succ(x73)), Integer(Pos(Zero)), Neg(x74))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(x74), Neg(Succ(x73))), Pos(Zero)), Neg(Succ(x73)), new_primRemInt(Neg(x74), Neg(Succ(x73))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 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(x71, x70)=Succ(x22) which results in the following new constraints: 175.84/121.80 175.84/121.80 (39) (Succ(Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x77))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))), Pos(Zero)), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))))) 175.84/121.80 175.84/121.80 (40) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 (41) (new_primModNatS1(new_primMinusNatS0(Succ(x79), Zero), Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Succ(x79))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x79))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 (42) (new_primModNatS02(x81, x80, x81, x80)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Succ(x81))), Pos(Succ(Succ(x80))), Integer(Pos(Zero)), Neg(Succ(Succ(x81))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x80)))), Pos(Zero)), Pos(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x80)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (43) (new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x77))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))), Pos(Zero)), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (44) (new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (45) (new_quot1(x9, Neg(Succ(Succ(x79))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x79))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (46) (new_quot1(x9, Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91))), Integer(Pos(Zero)), Neg(Succ(Succ(x90))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91)))), Pos(Zero)), Pos(Succ(Succ(x91))), new_primRemInt(Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x74, x73)=Succ(x22) which results in the following new constraints: 175.84/121.80 175.84/121.80 (47) (Succ(Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x92))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))), Pos(Zero)), Neg(Succ(Succ(x92))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))))) 175.84/121.80 175.84/121.80 (48) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 (49) (new_primModNatS1(new_primMinusNatS0(Succ(x94), Zero), Zero)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Succ(x94))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x94))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 (50) (new_primModNatS02(x96, x95, x96, x95)=Succ(x22) ==> new_quot1(x9, Neg(Succ(Succ(x96))), Neg(Succ(Succ(x95))), Integer(Pos(Zero)), Neg(Succ(Succ(x96))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x96))), Neg(Succ(Succ(x95)))), Pos(Zero)), Neg(Succ(Succ(x95))), new_primRemInt(Neg(Succ(Succ(x96))), Neg(Succ(Succ(x95)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 175.84/121.80 175.84/121.80 (51) (new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x92))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))), Pos(Zero)), Neg(Succ(Succ(x92))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (52) (new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (53) (new_quot1(x9, Neg(Succ(Succ(x94))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x94))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 175.84/121.80 175.84/121.80 (54) (new_quot1(x9, Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106))), Integer(Pos(Zero)), Neg(Succ(Succ(x105))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106)))), Pos(Zero)), Neg(Succ(Succ(x106))), new_primRemInt(Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 To summarize, we get the following constraints P__>=_ for the following pairs. 175.84/121.80 175.84/121.80 *new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 175.84/121.80 *(new_quot2(x3, False, x4, x5)_>=_new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 *new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x50))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))), Pos(Zero)), Pos(Succ(Succ(x50))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x50)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x77))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))), Pos(Zero)), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x77)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x92))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))), Pos(Zero)), Neg(Succ(Succ(x92))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x92)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x37))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49))), Integer(Pos(Zero)), Pos(Succ(Succ(x48))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49)))), Pos(Zero)), Neg(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Succ(x48))), Neg(Succ(Succ(x49)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Succ(x52))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x52))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x52))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64))), Integer(Pos(Zero)), Pos(Succ(Succ(x63))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64)))), Pos(Zero)), Pos(Succ(Succ(x64))), new_primRemInt(Pos(Succ(Succ(x63))), Pos(Succ(Succ(x64)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Succ(x79))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x79))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x79))), Pos(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91))), Integer(Pos(Zero)), Neg(Succ(Succ(x90))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91)))), Pos(Zero)), Pos(Succ(Succ(x91))), new_primRemInt(Neg(Succ(Succ(x90))), Pos(Succ(Succ(x91)))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Succ(x94))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x94))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x94))), Neg(Succ(Zero))))) 175.84/121.80 175.84/121.80 175.84/121.80 *(new_quot1(x9, Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106))), Integer(Pos(Zero)), Neg(Succ(Succ(x105))))_>=_new_quot2(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106)))), Pos(Zero)), Neg(Succ(Succ(x106))), new_primRemInt(Neg(Succ(Succ(x105))), Neg(Succ(Succ(x106)))))) 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 175.84/121.80 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (29) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (30) TransformationProof (EQUIVALENT) 175.84/121.80 By narrowing [LPAR04] the rule new_quot1(z0, z1, z2, Integer(Pos(Zero)), z1) -> new_quot2(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: 175.84/121.80 175.84/121.80 (new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))),new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1))))) 175.84/121.80 (new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))),new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1))))) 175.84/121.80 (new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 175.84/121.80 (new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))),new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1))))) 175.84/121.80 (new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 175.84/121.80 (new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))),new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1))))) 175.84/121.80 (new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 175.84/121.80 (new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (31) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) 175.84/121.80 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 175.84/121.80 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 175.84/121.80 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 175.84/121.80 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (32) TransformationProof (EQUIVALENT) 175.84/121.80 By rewriting [LPAR04] the rule new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 175.84/121.80 175.84/121.80 (new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 175.84/121.80 175.84/121.80 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (33) 175.84/121.80 Obligation: 175.84/121.80 Q DP problem: 175.84/121.80 The TRS P consists of the following rules: 175.84/121.80 175.84/121.80 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 175.84/121.80 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 175.84/121.80 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 175.84/121.80 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 175.84/121.80 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 175.84/121.80 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 175.84/121.80 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 175.84/121.80 175.84/121.80 The TRS R consists of the following rules: 175.84/121.80 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 175.84/121.80 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 175.84/121.80 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 175.84/121.80 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 175.84/121.80 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 175.84/121.80 new_error -> error([]) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 175.84/121.80 new_primModNatS1(Zero, vuz6800) -> Zero 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 175.84/121.80 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 175.84/121.80 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 175.84/121.80 new_primMinusNatS0(Zero, Zero) -> Zero 175.84/121.80 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 175.84/121.80 175.84/121.80 The set Q consists of the following terms: 175.84/121.80 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Succ(x1))) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Succ(x1))) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Succ(x1))) 175.84/121.80 new_primModNatS1(Zero, x0) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 175.84/121.80 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Succ(x2), Zero) 175.84/121.80 new_error 175.84/121.80 new_primModNatS1(Succ(Zero), Zero) 175.84/121.80 new_primMinusNatS0(Zero, Succ(x0)) 175.84/121.80 new_primRemInt(Pos(x0), Pos(Zero)) 175.84/121.80 new_primModNatS01(x0, x1) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Zero) 175.84/121.80 new_primRemInt(Neg(x0), Neg(Succ(x1))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Zero) 175.84/121.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 175.84/121.80 new_primMinusNatS0(Succ(x0), Zero) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 175.84/121.80 new_primMinusNatS0(Succ(x0), Succ(x1)) 175.84/121.80 new_primMinusNatS0(Zero, Zero) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Zero)) 175.84/121.80 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 175.84/121.80 new_primModNatS02(x0, x1, Zero, Succ(x2)) 175.84/121.80 new_primRemInt(Pos(x0), Neg(Zero)) 175.84/121.80 new_primRemInt(Neg(x0), Pos(Zero)) 175.84/121.80 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 175.84/121.80 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 175.84/121.80 new_primModNatS1(Succ(Zero), Succ(x0)) 175.84/121.80 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 175.84/121.80 175.84/121.80 We have to consider all minimal (P,Q,R)-chains. 175.84/121.80 ---------------------------------------- 175.84/121.80 175.84/121.80 (34) UsableRulesProof (EQUIVALENT) 175.84/121.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (35) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (36) TransformationProof (EQUIVALENT) 176.11/121.81 By rewriting [LPAR04] the rule new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 176.11/121.81 176.11/121.81 (new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 176.11/121.81 176.11/121.81 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (37) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (38) UsableRulesProof (EQUIVALENT) 176.11/121.81 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (39) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (40) TransformationProof (EQUIVALENT) 176.11/121.81 By rewriting [LPAR04] the rule new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.11/121.81 176.11/121.81 (new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 176.11/121.81 176.11/121.81 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (41) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (42) DependencyGraphProof (EQUIVALENT) 176.11/121.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (43) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (44) UsableRulesProof (EQUIVALENT) 176.11/121.81 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (45) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (46) TransformationProof (EQUIVALENT) 176.11/121.81 By rewriting [LPAR04] the rule new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 176.11/121.81 176.11/121.81 (new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 176.11/121.81 176.11/121.81 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (47) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (48) UsableRulesProof (EQUIVALENT) 176.11/121.81 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (49) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.81 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.81 new_primMinusNatS0(Zero, Zero) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.81 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.81 176.11/121.81 We have to consider all minimal (P,Q,R)-chains. 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (50) TransformationProof (EQUIVALENT) 176.11/121.81 By rewriting [LPAR04] the rule new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.11/121.81 176.11/121.81 (new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 176.11/121.81 176.11/121.81 176.11/121.81 ---------------------------------------- 176.11/121.81 176.11/121.81 (51) 176.11/121.81 Obligation: 176.11/121.81 Q DP problem: 176.11/121.81 The TRS P consists of the following rules: 176.11/121.81 176.11/121.81 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.81 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.81 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.81 new_quot1(y0, Pos(x0), Pos(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 176.11/121.81 176.11/121.81 The TRS R consists of the following rules: 176.11/121.81 176.11/121.81 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.81 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.81 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.81 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.81 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.81 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.81 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.81 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.81 new_error -> error([]) 176.11/121.81 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.81 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.81 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.81 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.81 176.11/121.81 The set Q consists of the following terms: 176.11/121.81 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.81 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.81 new_primModNatS1(Zero, x0) 176.11/121.81 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.81 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.81 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.81 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.81 new_error 176.11/121.81 new_primModNatS1(Succ(Zero), Zero) 176.11/121.81 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.81 new_primModNatS01(x0, x1) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.81 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.81 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.81 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.82 new_primMinusNatS0(Zero, Zero) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.82 176.11/121.82 We have to consider all minimal (P,Q,R)-chains. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (52) DependencyGraphProof (EQUIVALENT) 176.11/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (53) 176.11/121.82 Obligation: 176.11/121.82 Q DP problem: 176.11/121.82 The TRS P consists of the following rules: 176.11/121.82 176.11/121.82 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.82 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 176.11/121.82 The TRS R consists of the following rules: 176.11/121.82 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.82 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.82 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.82 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.82 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.82 new_error -> error([]) 176.11/121.82 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.82 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.82 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.82 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.11/121.82 176.11/121.82 The set Q consists of the following terms: 176.11/121.82 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.82 new_primModNatS1(Zero, x0) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.82 new_error 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) 176.11/121.82 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.82 new_primModNatS01(x0, x1) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.82 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.82 new_primMinusNatS0(Zero, Zero) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.82 176.11/121.82 We have to consider all minimal (P,Q,R)-chains. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (54) UsableRulesProof (EQUIVALENT) 176.11/121.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (55) 176.11/121.82 Obligation: 176.11/121.82 Q DP problem: 176.11/121.82 The TRS P consists of the following rules: 176.11/121.82 176.11/121.82 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 176.11/121.82 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 176.11/121.82 The TRS R consists of the following rules: 176.11/121.82 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.82 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.82 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.82 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.82 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.82 new_error -> error([]) 176.11/121.82 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.82 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.82 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.82 176.11/121.82 The set Q consists of the following terms: 176.11/121.82 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.82 new_primModNatS1(Zero, x0) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.82 new_error 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) 176.11/121.82 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.82 new_primModNatS01(x0, x1) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.82 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.82 new_primMinusNatS0(Zero, Zero) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.82 176.11/121.82 We have to consider all minimal (P,Q,R)-chains. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (56) TransformationProof (EQUIVALENT) 176.11/121.82 By rewriting [LPAR04] the rule new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 176.11/121.82 176.11/121.82 (new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 176.11/121.82 176.11/121.82 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (57) 176.11/121.82 Obligation: 176.11/121.82 Q DP problem: 176.11/121.82 The TRS P consists of the following rules: 176.11/121.82 176.11/121.82 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 176.11/121.82 The TRS R consists of the following rules: 176.11/121.82 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.82 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.82 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.82 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.82 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.82 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.82 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.82 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.82 new_error -> error([]) 176.11/121.82 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.82 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.82 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.11/121.82 176.11/121.82 The set Q consists of the following terms: 176.11/121.82 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.82 new_primModNatS1(Zero, x0) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.82 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.82 new_error 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) 176.11/121.82 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.82 new_primModNatS01(x0, x1) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.82 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.82 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.82 new_primMinusNatS0(Zero, Zero) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.82 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.82 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.82 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.82 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.82 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.82 176.11/121.82 We have to consider all minimal (P,Q,R)-chains. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (58) UsableRulesProof (EQUIVALENT) 176.11/121.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.82 ---------------------------------------- 176.11/121.82 176.11/121.82 (59) 176.11/121.82 Obligation: 176.11/121.82 Q DP problem: 176.11/121.82 The TRS P consists of the following rules: 176.11/121.82 176.11/121.82 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.82 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.82 176.11/121.82 The TRS R consists of the following rules: 176.11/121.82 176.11/121.82 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.82 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.82 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (60) TransformationProof (EQUIVALENT) 176.11/121.83 By rewriting [LPAR04] the rule new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (61) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Zero), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (62) DependencyGraphProof (EQUIVALENT) 176.11/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (63) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (64) UsableRulesProof (EQUIVALENT) 176.11/121.83 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (65) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (66) TransformationProof (EQUIVALENT) 176.11/121.83 By rewriting [LPAR04] the rule new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (67) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Zero), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (68) DependencyGraphProof (EQUIVALENT) 176.11/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (69) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 new_error -> error([]) 176.11/121.83 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (70) UsableRulesProof (EQUIVALENT) 176.11/121.83 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (71) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_error 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (72) QReductionProof (EQUIVALENT) 176.11/121.83 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.11/121.83 176.11/121.83 new_primRemInt(Neg(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.11/121.83 new_error 176.11/121.83 new_primRemInt(Pos(x0), Pos(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.11/121.83 new_primRemInt(Pos(x0), Neg(Zero)) 176.11/121.83 new_primRemInt(Neg(x0), Pos(Zero)) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (73) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (74) TransformationProof (EQUIVALENT) 176.11/121.83 By narrowing [LPAR04] the rule new_quot1(y0, Pos(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.83 (new_quot1(y0, Pos(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot1(y0, Pos(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 176.11/121.83 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.83 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.83 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (75) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.83 new_quot1(y0, Pos(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (76) DependencyGraphProof (EQUIVALENT) 176.11/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (77) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (78) TransformationProof (EQUIVALENT) 176.11/121.83 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (79) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (80) TransformationProof (EQUIVALENT) 176.11/121.83 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (81) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.83 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.83 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.83 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.83 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.83 176.11/121.83 The set Q consists of the following terms: 176.11/121.83 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.83 new_primModNatS1(Zero, x0) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.83 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) 176.11/121.83 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.83 new_primModNatS01(x0, x1) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.83 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.83 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.83 new_primMinusNatS0(Zero, Zero) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.83 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.83 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.83 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.83 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.83 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.83 176.11/121.83 We have to consider all minimal (P,Q,R)-chains. 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (82) TransformationProof (EQUIVALENT) 176.11/121.83 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.83 176.11/121.83 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.83 176.11/121.83 176.11/121.83 ---------------------------------------- 176.11/121.83 176.11/121.83 (83) 176.11/121.83 Obligation: 176.11/121.83 Q DP problem: 176.11/121.83 The TRS P consists of the following rules: 176.11/121.83 176.11/121.83 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.83 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.83 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.83 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.83 176.11/121.83 The TRS R consists of the following rules: 176.11/121.83 176.11/121.83 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.83 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.83 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.83 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.83 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (84) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (85) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (86) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (87) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (88) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (89) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (90) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (91) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (92) DependencyGraphProof (EQUIVALENT) 176.11/121.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (93) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (94) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (95) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (96) TransformationProof (EQUIVALENT) 176.11/121.84 By narrowing [LPAR04] the rule new_quot1(y0, Pos(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Pos(x0)) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.84 (new_quot1(y0, Pos(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot1(y0, Pos(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (97) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Pos(Zero)) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (98) DependencyGraphProof (EQUIVALENT) 176.11/121.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (99) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (100) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (101) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (102) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (103) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (104) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (105) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (106) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (107) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (108) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (109) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (110) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (111) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (112) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (113) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (114) DependencyGraphProof (EQUIVALENT) 176.11/121.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (115) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (116) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (117) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (118) TransformationProof (EQUIVALENT) 176.11/121.84 By narrowing [LPAR04] the rule new_quot1(y0, Neg(x0), Pos(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.84 (new_quot1(y0, Neg(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot1(y0, Neg(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 176.11/121.84 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.84 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.84 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (119) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Neg(Zero), Pos(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (120) DependencyGraphProof (EQUIVALENT) 176.11/121.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (121) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.84 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.84 176.11/121.84 The set Q consists of the following terms: 176.11/121.84 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.84 new_primModNatS1(Zero, x0) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) 176.11/121.84 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.84 new_primModNatS01(x0, x1) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.84 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.84 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.84 new_primMinusNatS0(Zero, Zero) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.84 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.84 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.84 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.84 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.84 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.84 176.11/121.84 We have to consider all minimal (P,Q,R)-chains. 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (122) TransformationProof (EQUIVALENT) 176.11/121.84 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.84 176.11/121.84 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.84 176.11/121.84 176.11/121.84 ---------------------------------------- 176.11/121.84 176.11/121.84 (123) 176.11/121.84 Obligation: 176.11/121.84 Q DP problem: 176.11/121.84 The TRS P consists of the following rules: 176.11/121.84 176.11/121.84 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.84 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.84 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.84 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.84 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.84 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.84 176.11/121.84 The TRS R consists of the following rules: 176.11/121.84 176.11/121.84 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.84 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.84 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.84 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.84 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.84 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.84 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.84 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.84 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (124) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (125) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (126) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (127) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (128) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (129) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (130) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (131) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (132) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (133) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (134) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (135) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (136) DependencyGraphProof (EQUIVALENT) 176.11/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (137) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (138) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (139) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (140) TransformationProof (EQUIVALENT) 176.11/121.85 By narrowing [LPAR04] the rule new_quot1(y0, Neg(x0), Neg(Succ(x1)), Integer(Pos(Zero)), Neg(x0)) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.85 (new_quot1(y0, Neg(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot1(y0, Neg(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (141) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Zero), Neg(Succ(x0)), Integer(Pos(Zero)), Neg(Zero)) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (142) DependencyGraphProof (EQUIVALENT) 176.11/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (143) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (144) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (145) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (146) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (147) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (148) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (149) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (150) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (151) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (152) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (153) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (154) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (155) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (156) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (157) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (158) DependencyGraphProof (EQUIVALENT) 176.11/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (159) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (160) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (161) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (162) TransformationProof (EQUIVALENT) 176.11/121.85 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (163) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (164) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (165) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.85 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.85 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.85 new_primMinusNatS0(Zero, Zero) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.85 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.85 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.85 176.11/121.85 We have to consider all minimal (P,Q,R)-chains. 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (166) TransformationProof (EQUIVALENT) 176.11/121.85 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.85 176.11/121.85 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.11/121.85 176.11/121.85 176.11/121.85 ---------------------------------------- 176.11/121.85 176.11/121.85 (167) 176.11/121.85 Obligation: 176.11/121.85 Q DP problem: 176.11/121.85 The TRS P consists of the following rules: 176.11/121.85 176.11/121.85 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.85 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.85 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.85 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.85 176.11/121.85 The TRS R consists of the following rules: 176.11/121.85 176.11/121.85 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.85 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.85 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.85 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.85 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.85 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.85 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.85 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.85 176.11/121.85 The set Q consists of the following terms: 176.11/121.85 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.85 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.85 new_primModNatS1(Zero, x0) 176.11/121.85 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.85 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.85 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.85 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.85 new_primModNatS1(Succ(Zero), Zero) 176.11/121.85 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.85 new_primModNatS01(x0, x1) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.85 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (168) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (169) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (170) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (171) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (172) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (173) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (174) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (175) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (176) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (177) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (178) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (179) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (180) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (181) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (182) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (183) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (184) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (185) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (186) DependencyGraphProof (EQUIVALENT) 176.11/121.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (187) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (188) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (189) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (190) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (191) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (192) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (193) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (194) TransformationProof (EQUIVALENT) 176.11/121.86 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (195) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (196) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (197) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (198) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (199) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (200) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (201) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (202) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (203) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (204) DependencyGraphProof (EQUIVALENT) 176.11/121.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (205) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (206) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (207) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (208) TransformationProof (EQUIVALENT) 176.11/121.86 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (209) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.86 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.86 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.86 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.86 176.11/121.86 The set Q consists of the following terms: 176.11/121.86 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.86 new_primModNatS1(Zero, x0) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) 176.11/121.86 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.86 new_primModNatS01(x0, x1) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.86 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.86 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.86 new_primMinusNatS0(Zero, Zero) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.86 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.86 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.86 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.86 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.86 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.86 176.11/121.86 We have to consider all minimal (P,Q,R)-chains. 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (210) TransformationProof (EQUIVALENT) 176.11/121.86 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.86 176.11/121.86 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.86 176.11/121.86 176.11/121.86 ---------------------------------------- 176.11/121.86 176.11/121.86 (211) 176.11/121.86 Obligation: 176.11/121.86 Q DP problem: 176.11/121.86 The TRS P consists of the following rules: 176.11/121.86 176.11/121.86 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.86 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.86 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.86 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.86 176.11/121.86 The TRS R consists of the following rules: 176.11/121.86 176.11/121.86 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.86 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.86 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.86 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.86 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.86 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.86 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (212) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (213) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (214) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (215) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (216) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (217) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (218) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (219) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (220) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (221) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (222) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (223) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (224) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (225) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (226) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (227) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (228) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (229) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (230) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (231) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (232) DependencyGraphProof (EQUIVALENT) 176.11/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (233) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (234) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (235) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (236) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (237) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (238) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (239) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (240) TransformationProof (EQUIVALENT) 176.11/121.87 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (241) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.11/121.87 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.11/121.87 new_primModNatS1(Zero, x0) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) 176.11/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.11/121.87 new_primModNatS01(x0, x1) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.11/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.11/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.11/121.87 new_primMinusNatS0(Zero, Zero) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.11/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.11/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.11/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.11/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.11/121.87 176.11/121.87 We have to consider all minimal (P,Q,R)-chains. 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (242) TransformationProof (EQUIVALENT) 176.11/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.11/121.87 176.11/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.11/121.87 176.11/121.87 176.11/121.87 ---------------------------------------- 176.11/121.87 176.11/121.87 (243) 176.11/121.87 Obligation: 176.11/121.87 Q DP problem: 176.11/121.87 The TRS P consists of the following rules: 176.11/121.87 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.11/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.11/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.11/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.11/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.11/121.87 176.11/121.87 The TRS R consists of the following rules: 176.11/121.87 176.11/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.11/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.11/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.11/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.11/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.11/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.11/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.11/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.11/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.11/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.11/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.11/121.87 176.11/121.87 The set Q consists of the following terms: 176.31/121.87 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.87 new_primModNatS1(Zero, x0) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) 176.31/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.87 new_primModNatS01(x0, x1) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.87 new_primMinusNatS0(Zero, Zero) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.87 176.31/121.87 We have to consider all minimal (P,Q,R)-chains. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (244) TransformationProof (EQUIVALENT) 176.31/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.87 176.31/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.87 176.31/121.87 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (245) 176.31/121.87 Obligation: 176.31/121.87 Q DP problem: 176.31/121.87 The TRS P consists of the following rules: 176.31/121.87 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.87 176.31/121.87 The TRS R consists of the following rules: 176.31/121.87 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.87 176.31/121.87 The set Q consists of the following terms: 176.31/121.87 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.87 new_primModNatS1(Zero, x0) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) 176.31/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.87 new_primModNatS01(x0, x1) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.87 new_primMinusNatS0(Zero, Zero) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.87 176.31/121.87 We have to consider all minimal (P,Q,R)-chains. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (246) TransformationProof (EQUIVALENT) 176.31/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.87 176.31/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.87 176.31/121.87 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (247) 176.31/121.87 Obligation: 176.31/121.87 Q DP problem: 176.31/121.87 The TRS P consists of the following rules: 176.31/121.87 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.87 176.31/121.87 The TRS R consists of the following rules: 176.31/121.87 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.87 176.31/121.87 The set Q consists of the following terms: 176.31/121.87 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.87 new_primModNatS1(Zero, x0) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) 176.31/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.87 new_primModNatS01(x0, x1) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.87 new_primMinusNatS0(Zero, Zero) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.87 176.31/121.87 We have to consider all minimal (P,Q,R)-chains. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (248) TransformationProof (EQUIVALENT) 176.31/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.87 176.31/121.87 (new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.87 176.31/121.87 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (249) 176.31/121.87 Obligation: 176.31/121.87 Q DP problem: 176.31/121.87 The TRS P consists of the following rules: 176.31/121.87 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.87 176.31/121.87 The TRS R consists of the following rules: 176.31/121.87 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.87 176.31/121.87 The set Q consists of the following terms: 176.31/121.87 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.87 new_primModNatS1(Zero, x0) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) 176.31/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.87 new_primModNatS01(x0, x1) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.87 new_primMinusNatS0(Zero, Zero) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.87 176.31/121.87 We have to consider all minimal (P,Q,R)-chains. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (250) DependencyGraphProof (EQUIVALENT) 176.31/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (251) 176.31/121.87 Obligation: 176.31/121.87 Q DP problem: 176.31/121.87 The TRS P consists of the following rules: 176.31/121.87 176.31/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.87 176.31/121.87 The TRS R consists of the following rules: 176.31/121.87 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.87 176.31/121.87 The set Q consists of the following terms: 176.31/121.87 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.87 new_primModNatS1(Zero, x0) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) 176.31/121.87 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.87 new_primModNatS01(x0, x1) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.87 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.87 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.87 new_primMinusNatS0(Zero, Zero) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.87 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.87 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.87 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.87 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.87 176.31/121.87 We have to consider all minimal (P,Q,R)-chains. 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (252) TransformationProof (EQUIVALENT) 176.31/121.87 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.87 176.31/121.87 (new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.87 176.31/121.87 176.31/121.87 ---------------------------------------- 176.31/121.87 176.31/121.87 (253) 176.31/121.87 Obligation: 176.31/121.87 Q DP problem: 176.31/121.87 The TRS P consists of the following rules: 176.31/121.87 176.31/121.87 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.87 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.87 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.87 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.87 176.31/121.87 The TRS R consists of the following rules: 176.31/121.87 176.31/121.87 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.87 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.87 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.87 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.87 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.87 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.87 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.87 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.87 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.87 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.87 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.87 176.31/121.87 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (254) TransformationProof (EQUIVALENT) 176.31/121.88 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (255) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (256) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (257) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (258) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (259) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (260) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (261) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (262) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (263) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (264) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (265) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (266) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (267) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (268) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (269) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (270) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (271) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (272) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (273) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (274) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (275) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (276) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (277) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (278) DependencyGraphProof (EQUIVALENT) 176.31/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (279) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (280) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (281) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (282) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (283) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (284) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (285) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (286) TransformationProof (EQUIVALENT) 176.31/121.88 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (287) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (288) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (289) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (290) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (291) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (292) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.88 176.31/121.88 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.88 176.31/121.88 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (293) 176.31/121.88 Obligation: 176.31/121.88 Q DP problem: 176.31/121.88 The TRS P consists of the following rules: 176.31/121.88 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.88 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.88 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.88 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.88 176.31/121.88 The TRS R consists of the following rules: 176.31/121.88 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.88 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.88 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.88 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.88 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.88 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.88 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.88 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.88 176.31/121.88 The set Q consists of the following terms: 176.31/121.88 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.88 new_primModNatS1(Zero, x0) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.88 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.88 new_primModNatS1(Succ(Zero), Zero) 176.31/121.88 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.88 new_primModNatS01(x0, x1) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.88 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.88 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.88 new_primMinusNatS0(Zero, Zero) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.88 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.88 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.88 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.88 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.88 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.88 176.31/121.88 We have to consider all minimal (P,Q,R)-chains. 176.31/121.88 ---------------------------------------- 176.31/121.88 176.31/121.88 (294) TransformationProof (EQUIVALENT) 176.31/121.88 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (295) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (296) DependencyGraphProof (EQUIVALENT) 176.31/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (297) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (298) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (299) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (300) TransformationProof (EQUIVALENT) 176.31/121.89 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (301) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (302) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (303) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (304) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (305) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (306) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (307) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (308) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (309) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (310) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (311) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (312) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (313) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (314) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (315) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (316) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (317) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (318) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (319) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (320) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (321) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (322) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (323) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (324) DependencyGraphProof (EQUIVALENT) 176.31/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (325) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (326) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (327) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (328) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (329) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (330) TransformationProof (EQUIVALENT) 176.31/121.89 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (331) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.89 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.89 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.89 new_primMinusNatS0(Zero, Zero) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.89 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.89 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.89 176.31/121.89 We have to consider all minimal (P,Q,R)-chains. 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (332) TransformationProof (EQUIVALENT) 176.31/121.89 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(x0)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.89 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.89 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.89 176.31/121.89 176.31/121.89 ---------------------------------------- 176.31/121.89 176.31/121.89 (333) 176.31/121.89 Obligation: 176.31/121.89 Q DP problem: 176.31/121.89 The TRS P consists of the following rules: 176.31/121.89 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.89 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.89 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.89 176.31/121.89 The TRS R consists of the following rules: 176.31/121.89 176.31/121.89 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.89 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.89 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.89 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.89 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.89 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.89 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.89 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.89 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.89 176.31/121.89 The set Q consists of the following terms: 176.31/121.89 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.89 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.89 new_primModNatS1(Zero, x0) 176.31/121.89 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.89 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.89 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.89 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.89 new_primModNatS1(Succ(Zero), Zero) 176.31/121.89 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.89 new_primModNatS01(x0, x1) 176.31/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.89 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (334) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (335) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (336) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (337) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (338) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (339) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (340) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (341) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (342) DependencyGraphProof (EQUIVALENT) 176.31/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (343) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (344) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (345) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (346) TransformationProof (EQUIVALENT) 176.31/121.90 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (347) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (348) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (349) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (350) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (351) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (352) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (353) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (354) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (355) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (356) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (357) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (358) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (359) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (360) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (361) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (362) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (363) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (364) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (365) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (366) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (367) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (368) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (369) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) 176.31/121.90 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.90 new_primModNatS01(x0, x1) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.90 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.90 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.90 new_primMinusNatS0(Zero, Zero) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.90 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.90 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.90 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.90 176.31/121.90 We have to consider all minimal (P,Q,R)-chains. 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (370) TransformationProof (EQUIVALENT) 176.31/121.90 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.90 176.31/121.90 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.31/121.90 176.31/121.90 176.31/121.90 ---------------------------------------- 176.31/121.90 176.31/121.90 (371) 176.31/121.90 Obligation: 176.31/121.90 Q DP problem: 176.31/121.90 The TRS P consists of the following rules: 176.31/121.90 176.31/121.90 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.90 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.90 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.90 176.31/121.90 The TRS R consists of the following rules: 176.31/121.90 176.31/121.90 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.90 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.90 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.90 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.90 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.90 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.90 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.90 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.90 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.90 176.31/121.90 The set Q consists of the following terms: 176.31/121.90 176.31/121.90 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.90 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.90 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.90 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.90 new_primModNatS1(Zero, x0) 176.31/121.90 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (372) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (373) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (374) DependencyGraphProof (EQUIVALENT) 176.31/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (375) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (376) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (377) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (378) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (379) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (380) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (381) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (382) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (383) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (384) TransformationProof (EQUIVALENT) 176.31/121.91 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (385) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (386) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (387) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (388) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (389) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (390) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (391) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (392) TransformationProof (EQUIVALENT) 176.31/121.91 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (393) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (394) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (395) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (396) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (397) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (398) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (399) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (400) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (401) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (402) DependencyGraphProof (EQUIVALENT) 176.31/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (403) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (404) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (405) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (406) TransformationProof (EQUIVALENT) 176.31/121.91 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (407) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.91 176.31/121.91 We have to consider all minimal (P,Q,R)-chains. 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (408) TransformationProof (EQUIVALENT) 176.31/121.91 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.91 176.31/121.91 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.91 176.31/121.91 176.31/121.91 ---------------------------------------- 176.31/121.91 176.31/121.91 (409) 176.31/121.91 Obligation: 176.31/121.91 Q DP problem: 176.31/121.91 The TRS P consists of the following rules: 176.31/121.91 176.31/121.91 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.91 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.91 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.91 176.31/121.91 The TRS R consists of the following rules: 176.31/121.91 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.91 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.91 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.91 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.91 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.91 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.91 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.91 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.91 176.31/121.91 The set Q consists of the following terms: 176.31/121.91 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.91 new_primModNatS1(Zero, x0) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.91 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.91 new_primModNatS1(Succ(Zero), Zero) 176.31/121.91 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.91 new_primModNatS01(x0, x1) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.91 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.91 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.91 new_primMinusNatS0(Zero, Zero) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.91 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.91 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.91 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.91 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.91 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (410) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (411) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (412) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (413) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (414) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (415) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (416) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (417) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (418) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (419) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (420) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (421) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (422) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (423) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (424) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (425) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (426) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (427) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (428) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (429) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (430) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (431) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (432) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (433) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (434) DependencyGraphProof (EQUIVALENT) 176.31/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (435) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (436) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (437) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (438) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (439) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (440) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (441) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (442) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (443) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (444) TransformationProof (EQUIVALENT) 176.31/121.92 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (445) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.92 176.31/121.92 The TRS R consists of the following rules: 176.31/121.92 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.92 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.92 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.92 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.92 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.92 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.92 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.92 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.92 176.31/121.92 The set Q consists of the following terms: 176.31/121.92 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.92 new_primModNatS1(Zero, x0) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.92 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.92 new_primModNatS1(Succ(Zero), Zero) 176.31/121.92 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.92 new_primModNatS01(x0, x1) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.92 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.92 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.92 new_primMinusNatS0(Zero, Zero) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.92 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.92 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.92 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.92 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.92 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.92 176.31/121.92 We have to consider all minimal (P,Q,R)-chains. 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (446) TransformationProof (EQUIVALENT) 176.31/121.92 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.92 176.31/121.92 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.92 176.31/121.92 176.31/121.92 ---------------------------------------- 176.31/121.92 176.31/121.92 (447) 176.31/121.92 Obligation: 176.31/121.92 Q DP problem: 176.31/121.92 The TRS P consists of the following rules: 176.31/121.92 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.92 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.92 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.92 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (448) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (449) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (450) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (451) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (452) TransformationProof (EQUIVALENT) 176.31/121.93 By narrowing [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (453) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (454) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (455) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (456) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (457) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (458) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (459) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (460) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (461) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (462) DependencyGraphProof (EQUIVALENT) 176.31/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (463) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (464) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (465) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (466) TransformationProof (EQUIVALENT) 176.31/121.93 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (467) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (468) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (469) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (470) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (471) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (472) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (473) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (474) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (475) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (476) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (477) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (478) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (479) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (480) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (481) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.93 176.31/121.93 The TRS R consists of the following rules: 176.31/121.93 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.93 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.93 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.93 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.93 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.93 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.93 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.93 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.93 176.31/121.93 The set Q consists of the following terms: 176.31/121.93 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.93 new_primModNatS1(Zero, x0) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.93 new_primModNatS1(Succ(Zero), Zero) 176.31/121.93 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.93 new_primModNatS01(x0, x1) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.93 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.93 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.93 new_primMinusNatS0(Zero, Zero) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.93 176.31/121.93 We have to consider all minimal (P,Q,R)-chains. 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (482) TransformationProof (EQUIVALENT) 176.31/121.93 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.93 176.31/121.93 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.93 176.31/121.93 176.31/121.93 ---------------------------------------- 176.31/121.93 176.31/121.93 (483) 176.31/121.93 Obligation: 176.31/121.93 Q DP problem: 176.31/121.93 The TRS P consists of the following rules: 176.31/121.93 176.31/121.93 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.93 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.93 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (484) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (485) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (486) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (487) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (488) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (489) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (490) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (491) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (492) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (493) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (494) DependencyGraphProof (EQUIVALENT) 176.31/121.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (495) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (496) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (497) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (498) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (499) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (500) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (501) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (502) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (503) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (504) TransformationProof (EQUIVALENT) 176.31/121.94 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (505) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (506) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (507) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (508) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (509) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (510) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (511) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (512) TransformationProof (EQUIVALENT) 176.31/121.94 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (513) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (514) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (515) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (516) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (517) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.94 176.31/121.94 The TRS R consists of the following rules: 176.31/121.94 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.94 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.94 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.94 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.94 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.94 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.94 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.94 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.94 176.31/121.94 The set Q consists of the following terms: 176.31/121.94 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.94 new_primModNatS1(Zero, x0) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.94 new_primModNatS1(Succ(Zero), Zero) 176.31/121.94 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.94 new_primModNatS01(x0, x1) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.94 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.94 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.94 new_primMinusNatS0(Zero, Zero) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.94 176.31/121.94 We have to consider all minimal (P,Q,R)-chains. 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (518) TransformationProof (EQUIVALENT) 176.31/121.94 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.94 176.31/121.94 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.94 176.31/121.94 176.31/121.94 ---------------------------------------- 176.31/121.94 176.31/121.94 (519) 176.31/121.94 Obligation: 176.31/121.94 Q DP problem: 176.31/121.94 The TRS P consists of the following rules: 176.31/121.94 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.94 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.94 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (520) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (521) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (522) DependencyGraphProof (EQUIVALENT) 176.31/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (523) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (524) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (525) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (526) TransformationProof (EQUIVALENT) 176.31/121.95 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (527) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (528) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (529) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (530) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (531) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (532) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (533) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (534) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (535) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (536) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (537) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (538) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (539) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (540) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (541) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (542) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (543) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (544) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (545) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (546) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (547) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (548) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (549) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (550) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (551) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.95 176.31/121.95 The TRS R consists of the following rules: 176.31/121.95 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.95 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.95 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.95 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.95 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.95 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.95 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.95 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.95 176.31/121.95 The set Q consists of the following terms: 176.31/121.95 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.95 new_primModNatS1(Zero, x0) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.95 new_primModNatS1(Succ(Zero), Zero) 176.31/121.95 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.95 new_primModNatS01(x0, x1) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.95 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.95 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.95 new_primMinusNatS0(Zero, Zero) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.95 176.31/121.95 We have to consider all minimal (P,Q,R)-chains. 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (552) TransformationProof (EQUIVALENT) 176.31/121.95 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.95 176.31/121.95 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 176.31/121.95 176.31/121.95 176.31/121.95 ---------------------------------------- 176.31/121.95 176.31/121.95 (553) 176.31/121.95 Obligation: 176.31/121.95 Q DP problem: 176.31/121.95 The TRS P consists of the following rules: 176.31/121.95 176.31/121.95 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.95 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.95 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (554) DependencyGraphProof (EQUIVALENT) 176.31/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (555) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (556) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (557) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (558) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (559) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (560) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (561) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (562) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (563) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (564) TransformationProof (EQUIVALENT) 176.31/121.96 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x2))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (565) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (566) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (567) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (568) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (569) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (570) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (571) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (572) TransformationProof (EQUIVALENT) 176.31/121.96 By narrowing [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (573) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (574) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (575) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (576) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (577) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (578) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (579) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.96 176.31/121.96 The TRS R consists of the following rules: 176.31/121.96 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.31/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.31/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.31/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.31/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.31/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.31/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.31/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.31/121.96 176.31/121.96 The set Q consists of the following terms: 176.31/121.96 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.31/121.96 new_primModNatS1(Zero, x0) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.31/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.31/121.96 new_primModNatS1(Succ(Zero), Zero) 176.31/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.31/121.96 new_primModNatS01(x0, x1) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.31/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.31/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.31/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.31/121.96 new_primMinusNatS0(Zero, Zero) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.31/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.31/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.31/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.31/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.31/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.31/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.31/121.96 176.31/121.96 We have to consider all minimal (P,Q,R)-chains. 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (580) TransformationProof (EQUIVALENT) 176.31/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.31/121.96 176.31/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 176.31/121.96 176.31/121.96 176.31/121.96 ---------------------------------------- 176.31/121.96 176.31/121.96 (581) 176.31/121.96 Obligation: 176.31/121.96 Q DP problem: 176.31/121.96 The TRS P consists of the following rules: 176.31/121.96 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.31/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.31/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.31/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 176.48/121.96 176.48/121.96 The TRS R consists of the following rules: 176.48/121.96 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.96 176.48/121.96 The set Q consists of the following terms: 176.48/121.96 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.96 new_primModNatS1(Zero, x0) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) 176.48/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.96 new_primModNatS01(x0, x1) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.96 new_primMinusNatS0(Zero, Zero) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.96 176.48/121.96 We have to consider all minimal (P,Q,R)-chains. 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (582) DependencyGraphProof (EQUIVALENT) 176.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (583) 176.48/121.96 Obligation: 176.48/121.96 Q DP problem: 176.48/121.96 The TRS P consists of the following rules: 176.48/121.96 176.48/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.48/121.96 176.48/121.96 The TRS R consists of the following rules: 176.48/121.96 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.96 176.48/121.96 The set Q consists of the following terms: 176.48/121.96 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.96 new_primModNatS1(Zero, x0) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) 176.48/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.96 new_primModNatS01(x0, x1) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.96 new_primMinusNatS0(Zero, Zero) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.96 176.48/121.96 We have to consider all minimal (P,Q,R)-chains. 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (584) TransformationProof (EQUIVALENT) 176.48/121.96 By rewriting [LPAR04] the rule new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 176.48/121.96 176.48/121.96 (new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 176.48/121.96 176.48/121.96 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (585) 176.48/121.96 Obligation: 176.48/121.96 Q DP problem: 176.48/121.96 The TRS P consists of the following rules: 176.48/121.96 176.48/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 176.48/121.96 The TRS R consists of the following rules: 176.48/121.96 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.96 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.96 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.96 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.96 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.96 176.48/121.96 The set Q consists of the following terms: 176.48/121.96 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.96 new_primModNatS1(Zero, x0) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) 176.48/121.96 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.96 new_primModNatS01(x0, x1) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.96 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.96 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.96 new_primMinusNatS0(Zero, Zero) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.96 176.48/121.96 We have to consider all minimal (P,Q,R)-chains. 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (586) QDPOrderProof (EQUIVALENT) 176.48/121.96 We use the reduction pair processor [LPAR04,JAR06]. 176.48/121.96 176.48/121.96 176.48/121.96 The following pairs can be oriented strictly and are deleted. 176.48/121.96 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 The remaining pairs can at least be oriented weakly. 176.48/121.96 Used ordering: Polynomial interpretation [POLO]: 176.48/121.96 176.48/121.96 POL(False) = 0 176.48/121.96 POL(Integer(x_1)) = 0 176.48/121.96 POL(Neg(x_1)) = x_1 176.48/121.96 POL(Pos(x_1)) = 0 176.48/121.96 POL(Succ(x_1)) = 1 176.48/121.96 POL(True) = 1 176.48/121.96 POL(Zero) = 0 176.48/121.96 POL(new_primEqInt(x_1, x_2)) = 0 176.48/121.96 POL(new_primMinusNatS0(x_1, x_2)) = 0 176.48/121.96 POL(new_primModNatS01(x_1, x_2)) = 1 176.48/121.96 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 176.48/121.96 POL(new_primModNatS1(x_1, x_2)) = x_2 176.48/121.96 POL(new_quot1(x_1, x_2, x_3, x_4, x_5)) = x_2 + x_3 176.48/121.96 POL(new_quot2(x_1, x_2, x_3, x_4)) = x_3 + x_4 176.48/121.96 176.48/121.96 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.48/121.96 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.96 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.96 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.96 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.96 176.48/121.96 176.48/121.96 ---------------------------------------- 176.48/121.96 176.48/121.96 (587) 176.48/121.96 Obligation: 176.48/121.96 Q DP problem: 176.48/121.96 The TRS P consists of the following rules: 176.48/121.96 176.48/121.96 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.96 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.97 176.48/121.97 The TRS R consists of the following rules: 176.48/121.97 176.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.97 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.97 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.97 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.97 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.97 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.97 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.97 176.48/121.97 The set Q consists of the following terms: 176.48/121.97 176.48/121.97 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.97 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.97 new_primModNatS1(Zero, x0) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.97 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.97 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.97 new_primModNatS1(Succ(Zero), Zero) 176.48/121.97 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.97 new_primModNatS01(x0, x1) 176.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.97 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.97 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.97 new_primMinusNatS0(Zero, Zero) 176.48/121.97 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.97 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.97 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.97 176.48/121.97 We have to consider all minimal (P,Q,R)-chains. 176.48/121.97 ---------------------------------------- 176.48/121.97 176.48/121.97 (588) QDPOrderProof (EQUIVALENT) 176.48/121.97 We use the reduction pair processor [LPAR04,JAR06]. 176.48/121.97 176.48/121.97 176.48/121.97 The following pairs can be oriented strictly and are deleted. 176.48/121.97 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.48/121.97 The remaining pairs can at least be oriented weakly. 176.48/121.97 Used ordering: Polynomial interpretation [POLO]: 176.48/121.97 176.48/121.97 POL(False) = 0 176.48/121.97 POL(Integer(x_1)) = 0 176.48/121.97 POL(Neg(x_1)) = 0 176.48/121.97 POL(Pos(x_1)) = x_1 176.48/121.97 POL(Succ(x_1)) = 1 176.48/121.97 POL(True) = 1 176.48/121.97 POL(Zero) = 0 176.48/121.97 POL(new_primEqInt(x_1, x_2)) = 0 176.48/121.97 POL(new_primMinusNatS0(x_1, x_2)) = 0 176.48/121.97 POL(new_primModNatS01(x_1, x_2)) = 1 176.48/121.97 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 176.48/121.97 POL(new_primModNatS1(x_1, x_2)) = x_2 176.48/121.97 POL(new_quot1(x_1, x_2, x_3, x_4, x_5)) = x_3 + x_5 176.48/121.97 POL(new_quot2(x_1, x_2, x_3, x_4)) = x_3 + x_4 176.48/121.97 176.48/121.97 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.48/121.97 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.97 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.97 176.48/121.97 176.48/121.97 ---------------------------------------- 176.48/121.97 176.48/121.97 (589) 176.48/121.97 Obligation: 176.48/121.97 Q DP problem: 176.48/121.97 The TRS P consists of the following rules: 176.48/121.97 176.48/121.97 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.97 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.97 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.97 176.48/121.97 The TRS R consists of the following rules: 176.48/121.97 176.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.97 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.97 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.97 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.97 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.97 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.97 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.97 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.97 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.97 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.97 176.48/121.97 The set Q consists of the following terms: 176.48/121.97 176.48/121.97 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.97 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.97 new_primModNatS1(Zero, x0) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.97 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.97 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.97 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.97 new_primModNatS1(Succ(Zero), Zero) 176.48/121.97 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.97 new_primModNatS01(x0, x1) 176.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.97 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.97 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.97 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.97 new_primMinusNatS0(Zero, Zero) 176.48/121.97 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.97 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.97 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.97 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.97 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.97 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.97 176.48/121.97 We have to consider all minimal (P,Q,R)-chains. 176.48/121.97 ---------------------------------------- 176.48/121.97 176.48/121.97 (590) InductionCalculusProof (EQUIVALENT) 176.48/121.97 Note that final constraints are written in bold face. 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) the following chains were created: 176.48/121.97 *We consider the chain new_quot2(x3, False, x4, x5) -> new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4), new_quot1(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(x6, False, Neg(Succ(Succ(x7))), Pos(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)=new_quot1(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Integer(Pos(Zero)), Pos(Succ(Zero))) ==> new_quot2(x3, False, x4, x5)_>=_new_quot1(x3, x4, x5, Integer(Pos(Zero)), x4)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot1(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Integer(Pos(Zero)), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x8, False, x9, x10) -> new_quot1(x8, x9, x10, Integer(Pos(Zero)), x9), new_quot1(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(x11, False, Pos(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x8, x9, x10, Integer(Pos(Zero)), x9)=new_quot1(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Integer(Pos(Zero)), Pos(Succ(Zero))) ==> new_quot2(x8, False, x9, x10)_>=_new_quot1(x8, x9, x10, Integer(Pos(Zero)), x9)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot1(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Integer(Pos(Zero)), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x13, False, x14, x15) -> new_quot1(x13, x14, x15, Integer(Pos(Zero)), x14), new_quot1(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(x16, False, Pos(Succ(Succ(x17))), Neg(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x13, x14, x15, Integer(Pos(Zero)), x14)=new_quot1(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Integer(Pos(Zero)), Neg(Succ(Zero))) ==> new_quot2(x13, False, x14, x15)_>=_new_quot1(x13, x14, x15, Integer(Pos(Zero)), x14)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot1(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Integer(Pos(Zero)), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x18, False, x19, x20) -> new_quot1(x18, x19, x20, Integer(Pos(Zero)), x19), new_quot1(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(x21, False, Neg(Succ(Succ(x22))), Neg(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x18, x19, x20, Integer(Pos(Zero)), x19)=new_quot1(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Integer(Pos(Zero)), Neg(Succ(Zero))) ==> new_quot2(x18, False, x19, x20)_>=_new_quot1(x18, x19, x20, Integer(Pos(Zero)), x19)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot1(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Integer(Pos(Zero)), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x23, False, x24, x25) -> new_quot1(x23, x24, x25, Integer(Pos(Zero)), x24), new_quot1(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(x26, False, Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x23, x24, x25, Integer(Pos(Zero)), x24)=new_quot1(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) ==> new_quot2(x23, False, x24, x25)_>=_new_quot1(x23, x24, x25, Integer(Pos(Zero)), x24)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot1(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x28, False, x29, x30) -> new_quot1(x28, x29, x30, Integer(Pos(Zero)), x29), new_quot1(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(x31, False, Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x28, x29, x30, Integer(Pos(Zero)), x29)=new_quot1(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) ==> new_quot2(x28, False, x29, x30)_>=_new_quot1(x28, x29, x30, Integer(Pos(Zero)), x29)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot1(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x33, False, x34, x35) -> new_quot1(x33, x34, x35, Integer(Pos(Zero)), x34), new_quot1(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(x36, False, Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x33, x34, x35, Integer(Pos(Zero)), x34)=new_quot1(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) ==> new_quot2(x33, False, x34, x35)_>=_new_quot1(x33, x34, x35, Integer(Pos(Zero)), x34)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot1(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x38, False, x39, x40) -> new_quot1(x38, x39, x40, Integer(Pos(Zero)), x39), new_quot1(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(x41, False, Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x38, x39, x40, Integer(Pos(Zero)), x39)=new_quot1(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) ==> new_quot2(x38, False, x39, x40)_>=_new_quot1(x38, x39, x40, Integer(Pos(Zero)), x39)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot1(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x43, False, x44, x45) -> new_quot1(x43, x44, x45, Integer(Pos(Zero)), x44), new_quot1(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x47)))))) -> new_quot2(x46, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x43, x44, x45, Integer(Pos(Zero)), x44)=new_quot1(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x47)))))) ==> new_quot2(x43, False, x44, x45)_>=_new_quot1(x43, x44, x45, Integer(Pos(Zero)), x44)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot1(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x47))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x49, False, x50, x51) -> new_quot1(x49, x50, x51, Integer(Pos(Zero)), x50), new_quot1(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x52, False, Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x49, x50, x51, Integer(Pos(Zero)), x50)=new_quot1(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot2(x49, False, x50, x51)_>=_new_quot1(x49, x50, x51, Integer(Pos(Zero)), x50)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot1(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x54, False, x55, x56) -> new_quot1(x54, x55, x56, Integer(Pos(Zero)), x55), new_quot1(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x58)))))) -> new_quot2(x57, new_primEqInt(Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x54, x55, x56, Integer(Pos(Zero)), x55)=new_quot1(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x58)))))) ==> new_quot2(x54, False, x55, x56)_>=_new_quot1(x54, x55, x56, Integer(Pos(Zero)), x55)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x58))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x59, False, x60, x61) -> new_quot1(x59, x60, x61, Integer(Pos(Zero)), x60), new_quot1(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x63)))))) -> new_quot2(x62, new_primEqInt(Pos(new_primModNatS02(x63, Zero, x63, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x63, Zero, x63, Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x59, x60, x61, Integer(Pos(Zero)), x60)=new_quot1(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x63)))))) ==> new_quot2(x59, False, x60, x61)_>=_new_quot1(x59, x60, x61, Integer(Pos(Zero)), x60)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x63))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x64, False, x65, x66) -> new_quot1(x64, x65, x66, Integer(Pos(Zero)), x65), new_quot1(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x67, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x64, x65, x66, Integer(Pos(Zero)), x65)=new_quot1(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot2(x64, False, x65, x66)_>=_new_quot1(x64, x65, x66, Integer(Pos(Zero)), x65)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x68, False, x69, x70) -> new_quot1(x68, x69, x70, Integer(Pos(Zero)), x69), new_quot1(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x72)))))) -> new_quot2(x71, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(new_primModNatS02(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x68, x69, x70, Integer(Pos(Zero)), x69)=new_quot1(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x72)))))) ==> new_quot2(x68, False, x69, x70)_>=_new_quot1(x68, x69, x70, Integer(Pos(Zero)), x69)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot1(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x72))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x74, False, x75, x76) -> new_quot1(x74, x75, x76, Integer(Pos(Zero)), x75), new_quot1(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x77, False, Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x74, x75, x76, Integer(Pos(Zero)), x75)=new_quot1(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot2(x74, False, x75, x76)_>=_new_quot1(x74, x75, x76, Integer(Pos(Zero)), x75)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot1(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x79, False, x80, x81) -> new_quot1(x79, x80, x81, Integer(Pos(Zero)), x80), new_quot1(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x83)))))) -> new_quot2(x82, new_primEqInt(Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x79, x80, x81, Integer(Pos(Zero)), x80)=new_quot1(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x83)))))) ==> new_quot2(x79, False, x80, x81)_>=_new_quot1(x79, x80, x81, Integer(Pos(Zero)), x80)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x83))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x84, False, x85, x86) -> new_quot1(x84, x85, x86, Integer(Pos(Zero)), x85), new_quot1(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x88)))))) -> new_quot2(x87, new_primEqInt(Pos(new_primModNatS02(x88, Zero, x88, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x88, Zero, x88, Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x84, x85, x86, Integer(Pos(Zero)), x85)=new_quot1(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x88)))))) ==> new_quot2(x84, False, x85, x86)_>=_new_quot1(x84, x85, x86, Integer(Pos(Zero)), x85)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x88))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x89, False, x90, x91) -> new_quot1(x89, x90, x91, Integer(Pos(Zero)), x90), new_quot1(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x92, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x89, x90, x91, Integer(Pos(Zero)), x90)=new_quot1(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot2(x89, False, x90, x91)_>=_new_quot1(x89, x90, x91, Integer(Pos(Zero)), x90)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x93, False, x94, x95) -> new_quot1(x93, x94, x95, Integer(Pos(Zero)), x94), new_quot1(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x97)))))) -> new_quot2(x96, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(new_primModNatS02(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x93, x94, x95, Integer(Pos(Zero)), x94)=new_quot1(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x97)))))) ==> new_quot2(x93, False, x94, x95)_>=_new_quot1(x93, x94, x95, Integer(Pos(Zero)), x94)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot1(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x97))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x99, False, x100, x101) -> new_quot1(x99, x100, x101, Integer(Pos(Zero)), x100), new_quot1(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x102, False, Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x99, x100, x101, Integer(Pos(Zero)), x100)=new_quot1(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot2(x99, False, x100, x101)_>=_new_quot1(x99, x100, x101, Integer(Pos(Zero)), x100)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot1(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x104, False, x105, x106) -> new_quot1(x104, x105, x106, Integer(Pos(Zero)), x105), new_quot1(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x108)))))) -> new_quot2(x107, new_primEqInt(Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x104, x105, x106, Integer(Pos(Zero)), x105)=new_quot1(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x108)))))) ==> new_quot2(x104, False, x105, x106)_>=_new_quot1(x104, x105, x106, Integer(Pos(Zero)), x105)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x108))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x109, False, x110, x111) -> new_quot1(x109, x110, x111, Integer(Pos(Zero)), x110), new_quot1(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x113)))))) -> new_quot2(x112, new_primEqInt(Neg(new_primModNatS02(x113, Zero, x113, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x113, Zero, x113, Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x109, x110, x111, Integer(Pos(Zero)), x110)=new_quot1(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x113)))))) ==> new_quot2(x109, False, x110, x111)_>=_new_quot1(x109, x110, x111, Integer(Pos(Zero)), x110)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x113))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x114, False, x115, x116) -> new_quot1(x114, x115, x116, Integer(Pos(Zero)), x115), new_quot1(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x117, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x114, x115, x116, Integer(Pos(Zero)), x115)=new_quot1(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot2(x114, False, x115, x116)_>=_new_quot1(x114, x115, x116, Integer(Pos(Zero)), x115)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x118, False, x119, x120) -> new_quot1(x118, x119, x120, Integer(Pos(Zero)), x119), new_quot1(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x122)))))) -> new_quot2(x121, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(new_primModNatS02(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x118, x119, x120, Integer(Pos(Zero)), x119)=new_quot1(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x122)))))) ==> new_quot2(x118, False, x119, x120)_>=_new_quot1(x118, x119, x120, Integer(Pos(Zero)), x119)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot1(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x122))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x124, False, x125, x126) -> new_quot1(x124, x125, x126, Integer(Pos(Zero)), x125), new_quot1(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x127, False, Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x124, x125, x126, Integer(Pos(Zero)), x125)=new_quot1(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot2(x124, False, x125, x126)_>=_new_quot1(x124, x125, x126, Integer(Pos(Zero)), x125)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot1(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x129, False, x130, x131) -> new_quot1(x129, x130, x131, Integer(Pos(Zero)), x130), new_quot1(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x133)))))) -> new_quot2(x132, new_primEqInt(Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero))))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x129, x130, x131, Integer(Pos(Zero)), x130)=new_quot1(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x133)))))) ==> new_quot2(x129, False, x130, x131)_>=_new_quot1(x129, x130, x131, Integer(Pos(Zero)), x130)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x133))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x134, False, x135, x136) -> new_quot1(x134, x135, x136, Integer(Pos(Zero)), x135), new_quot1(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x138)))))) -> new_quot2(x137, new_primEqInt(Neg(new_primModNatS02(x138, Zero, x138, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x138, Zero, x138, Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x134, x135, x136, Integer(Pos(Zero)), x135)=new_quot1(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x138)))))) ==> new_quot2(x134, False, x135, x136)_>=_new_quot1(x134, x135, x136, Integer(Pos(Zero)), x135)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x138))))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 *We consider the chain new_quot2(x139, False, x140, x141) -> new_quot1(x139, x140, x141, Integer(Pos(Zero)), x140), new_quot1(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x142, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot1(x139, x140, x141, Integer(Pos(Zero)), x140)=new_quot1(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot2(x139, False, x140, x141)_>=_new_quot1(x139, x140, x141, Integer(Pos(Zero)), x140)) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot2(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero))), new_quot2(x145, False, x146, x147) -> new_quot1(x145, x146, x147, Integer(Pos(Zero)), x146) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))=new_quot2(x145, False, x146, x147) ==> new_quot1(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero))), new_quot2(x206, False, x207, x208) -> new_quot1(x206, x207, x208, Integer(Pos(Zero)), x207) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))=new_quot2(x206, False, x207, x208) ==> new_quot1(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero))), new_quot2(x267, False, x268, x269) -> new_quot1(x267, x268, x269, Integer(Pos(Zero)), x268) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))=new_quot2(x267, False, x268, x269) ==> new_quot1(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero))), new_quot2(x328, False, x329, x330) -> new_quot1(x328, x329, x330, Integer(Pos(Zero)), x329) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))=new_quot2(x328, False, x329, x330) ==> new_quot1(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero)))), new_quot2(x389, False, x390, x391) -> new_quot1(x389, x390, x391, Integer(Pos(Zero)), x390) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))=new_quot2(x389, False, x390, x391) ==> new_quot1(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero)))), new_quot2(x450, False, x451, x452) -> new_quot1(x450, x451, x452, Integer(Pos(Zero)), x451) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))=new_quot2(x450, False, x451, x452) ==> new_quot1(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero)))), new_quot2(x511, False, x512, x513) -> new_quot1(x511, x512, x513, Integer(Pos(Zero)), x512) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))=new_quot2(x511, False, x512, x513) ==> new_quot1(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero)))), new_quot2(x572, False, x573, x574) -> new_quot1(x572, x573, x574, Integer(Pos(Zero)), x573) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))=new_quot2(x572, False, x573, x574) ==> new_quot1(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632)))))) -> new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), new_quot2(x634, False, x635, x636) -> new_quot1(x634, x635, x636, Integer(Pos(Zero)), x635) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))=new_quot2(x634, False, x635, x636) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=x1851 & Pos(Zero)=x1852 & new_primEqInt(x1851, x1852)=False ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1851, x1852)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Neg(Succ(x1854)) & Pos(Zero)=Pos(x1853) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Pos(Succ(x1855)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(Succ(x632))=x1856 & Succ(Succ(x633))=x1857 & new_primModNatS02(x1856, x1857, x632, x633)=Succ(x1855) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1856, x1857, x632, x633)=Succ(x1855) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x1860, x1859)=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1860 & Succ(Succ(Zero))=x1859 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) & Succ(Succ(Succ(x1862)))=x1864 & Succ(Succ(Succ(x1861)))=x1863 & (\/x1865,x1866:new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1865) & Succ(Succ(x1862))=x1864 & Succ(Succ(x1861))=x1863 ==> new_quot1(x1866, Pos(Succ(Succ(Succ(Succ(x1862))))), Neg(Succ(Succ(Succ(Succ(x1861))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1862))))))_>=_new_quot2(x1866, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x1862)), Succ(Succ(x1861)), x1862, x1861)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1861))))), Pos(new_primModNatS02(Succ(Succ(x1862)), Succ(Succ(x1861)), x1862, x1861)))) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x1868, x1867)=Succ(x1855) & Succ(Succ(Zero))=x1868 & Succ(Succ(Zero))=x1867 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x1871))=Succ(x1855) & Succ(Succ(Zero))=x1871 & Succ(Succ(Succ(x1869)))=x1870 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1860, x1859)=Succ(x1855) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x1873), Succ(x1872)), Succ(x1872))=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1873 & Succ(Succ(Zero))=x1872 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (11) (new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) & Succ(Succ(Succ(x1862)))=x1864 & Succ(Succ(Succ(x1861)))=x1863 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1868, x1867)=Succ(x1855) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x1893), Succ(x1892)), Succ(x1892))=Succ(x1855) & Succ(Succ(Zero))=x1893 & Succ(Succ(Zero))=x1892 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) which results in the following new constraints: 176.48/121.97 176.48/121.97 (15) (new_primModNatS01(x1880, x1879)=Succ(x1855) & Succ(Succ(Succ(Succ(x1878))))=x1880 & Succ(Succ(Succ(Zero)))=x1879 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) 176.48/121.97 176.48/121.97 (16) (new_primModNatS02(x1884, x1883, x1882, x1881)=Succ(x1855) & Succ(Succ(Succ(Succ(x1882))))=x1884 & Succ(Succ(Succ(Succ(x1881))))=x1883 & (\/x1885,x1886:new_primModNatS02(x1884, x1883, x1882, x1881)=Succ(x1885) & Succ(Succ(Succ(x1882)))=x1884 & Succ(Succ(Succ(x1881)))=x1883 ==> new_quot1(x1886, Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))))_>=_new_quot2(x1886, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1882))), Succ(Succ(Succ(x1881))), Succ(x1882), Succ(x1881))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1882))), Succ(Succ(Succ(x1881))), Succ(x1882), Succ(x1881))))) ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) 176.48/121.97 176.48/121.97 (17) (new_primModNatS01(x1888, x1887)=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1888 & Succ(Succ(Succ(Zero)))=x1887 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 (18) (Succ(Succ(x1891))=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1891 & Succ(Succ(Succ(Succ(x1889))))=x1890 ==> new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (19) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (20) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (21) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (22) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (23) (new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero))))), new_quot2(x723, False, x724, x725) -> new_quot1(x723, x724, x725, Integer(Pos(Zero)), x724) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot2(x723, False, x724, x725) ==> new_quot1(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783)))))) -> new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), new_quot2(x784, False, x785, x786) -> new_quot1(x784, x785, x786, Integer(Pos(Zero)), x785) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))=new_quot2(x784, False, x785, x786) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=x1898 & Pos(Zero)=x1899 & new_primEqInt(x1898, x1899)=False ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1898, x1899)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Neg(Succ(x1901)) & Pos(Zero)=Pos(x1900) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Pos(Succ(x1902)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(x783)=x1903 & Succ(Succ(Zero))=x1904 & new_primModNatS1(x1903, x1904)=Succ(x1902) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1903, x1904)=Succ(x1902) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (Succ(Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1905) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x1907), Zero), Zero)=Succ(x1902) & Succ(x783)=Succ(Succ(x1907)) & Succ(Succ(Zero))=Zero ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (9) (new_primModNatS02(x1909, x1908, x1909, x1908)=Succ(x1902) & Succ(x783)=Succ(Succ(x1909)) & Succ(Succ(Zero))=Succ(x1908) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (x1909=x1910 & x1908=x1911 & new_primModNatS02(x1909, x1908, x1910, x1911)=Succ(x1902) & Succ(Zero)=x1908 ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1909, x1908, x1910, x1911)=Succ(x1902) which results in the following new constraints: 176.48/121.97 176.48/121.97 (12) (new_primModNatS01(x1914, x1913)=Succ(x1902) & x1914=Succ(x1912) & x1913=Zero & Succ(Zero)=x1913 ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1914)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1914)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (13) (new_primModNatS02(x1918, x1917, x1916, x1915)=Succ(x1902) & x1918=Succ(x1916) & x1917=Succ(x1915) & Succ(Zero)=x1917 & (\/x1919,x1920:new_primModNatS02(x1918, x1917, x1916, x1915)=Succ(x1919) & x1918=x1916 & x1917=x1915 & Succ(Zero)=x1917 ==> new_quot1(x1920, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))))_>=_new_quot2(x1920, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))))) ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (14) (new_primModNatS01(x1922, x1921)=Succ(x1902) & x1922=Zero & x1921=Zero & Succ(Zero)=x1921 ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1922)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1922)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (15) (Succ(Succ(x1925))=Succ(x1902) & x1925=Zero & x1924=Succ(x1923) & Succ(Zero)=x1924 ==> new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1925)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1925)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (16) (new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (17) (new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844)))))) -> new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero))), new_quot2(x845, False, x846, x847) -> new_quot1(x845, x846, x847, Integer(Pos(Zero)), x846) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))=new_quot2(x845, False, x846, x847) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS02(x844, Zero, x844, Zero))=x1928 & Pos(Zero)=x1929 & new_primEqInt(x1928, x1929)=False ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1928, x1929)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Neg(Succ(x1931)) & Pos(Zero)=Pos(x1930) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Pos(Succ(x1932)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Zero=x1933 & x844=x1934 & Zero=x1935 & new_primModNatS02(x844, x1933, x1934, x1935)=Succ(x1932) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x844, x1933, x1934, x1935)=Succ(x1932) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x1938, x1937)=Succ(x1932) & Zero=x1937 & x1938=Succ(x1936) & Zero=Zero ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x1938))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1938))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x1938, Zero, x1938, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1938, Zero, x1938, Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x1942, x1941, x1940, x1939)=Succ(x1932) & Zero=x1941 & x1942=Succ(x1940) & Zero=Succ(x1939) & (\/x1943,x1944:new_primModNatS02(x1942, x1941, x1940, x1939)=Succ(x1943) & Zero=x1941 & x1942=x1940 & Zero=x1939 ==> new_quot1(x1944, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1942))))))_>=_new_quot2(x1944, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1942))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x1946, x1945)=Succ(x1932) & Zero=x1945 & x1946=Zero & Zero=Zero ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x1946))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1946))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x1946, Zero, x1946, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1946, Zero, x1946, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x1949))=Succ(x1932) & Zero=x1948 & x1949=Zero & Zero=Succ(x1947) ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(x1949))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1949))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(x1949, Zero, x1949, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1949, Zero, x1949, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (Succ(x1936)=x1950 & new_primModNatS01(x1950, x1937)=Succ(x1932) & Zero=x1937 ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (Zero=x1957 & new_primModNatS01(x1957, x1945)=Succ(x1932) & Zero=x1945 ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1950, x1937)=Succ(x1932) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x1952), Succ(x1951)), Succ(x1951))=Succ(x1932) & Succ(x1936)=x1952 & Zero=x1951 ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1957, x1945)=Succ(x1932) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_primModNatS1(new_primMinusNatS0(Succ(x1959), Succ(x1958)), Succ(x1958))=Succ(x1932) & Zero=x1959 & Zero=x1958 ==> new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (15) (new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot2(x905, False, x906, x907) -> new_quot1(x905, x906, x907, Integer(Pos(Zero)), x906) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot2(x905, False, x906, x907) ==> new_quot1(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937)))))) -> new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), new_quot2(x939, False, x940, x941) -> new_quot1(x939, x940, x941, Integer(Pos(Zero)), x940) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))=new_quot2(x939, False, x940, x941) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=x1964 & Pos(Zero)=x1965 & new_primEqInt(x1964, x1965)=False ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1964, x1965)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Neg(Succ(x1967)) & Pos(Zero)=Pos(x1966) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Pos(Succ(x1968)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(Succ(x937))=x1969 & Succ(Succ(x938))=x1970 & new_primModNatS02(x1969, x1970, x937, x938)=Succ(x1968) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1969, x1970, x937, x938)=Succ(x1968) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x1973, x1972)=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1973 & Succ(Succ(Zero))=x1972 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) & Succ(Succ(Succ(x1975)))=x1977 & Succ(Succ(Succ(x1974)))=x1976 & (\/x1978,x1979:new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1978) & Succ(Succ(x1975))=x1977 & Succ(Succ(x1974))=x1976 ==> new_quot1(x1979, Pos(Succ(Succ(Succ(Succ(x1975))))), Pos(Succ(Succ(Succ(Succ(x1974))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1975))))))_>=_new_quot2(x1979, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x1975)), Succ(Succ(x1974)), x1975, x1974)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(new_primModNatS02(Succ(Succ(x1975)), Succ(Succ(x1974)), x1975, x1974)))) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x1981, x1980)=Succ(x1968) & Succ(Succ(Zero))=x1981 & Succ(Succ(Zero))=x1980 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x1984))=Succ(x1968) & Succ(Succ(Zero))=x1984 & Succ(Succ(Succ(x1982)))=x1983 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1973, x1972)=Succ(x1968) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x1986), Succ(x1985)), Succ(x1985))=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1986 & Succ(Succ(Zero))=x1985 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (11) (new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) & Succ(Succ(Succ(x1975)))=x1977 & Succ(Succ(Succ(x1974)))=x1976 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1981, x1980)=Succ(x1968) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2006), Succ(x2005)), Succ(x2005))=Succ(x1968) & Succ(Succ(Zero))=x2006 & Succ(Succ(Zero))=x2005 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) which results in the following new constraints: 176.48/121.97 176.48/121.97 (15) (new_primModNatS01(x1993, x1992)=Succ(x1968) & Succ(Succ(Succ(Succ(x1991))))=x1993 & Succ(Succ(Succ(Zero)))=x1992 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 176.48/121.97 176.48/121.97 (16) (new_primModNatS02(x1997, x1996, x1995, x1994)=Succ(x1968) & Succ(Succ(Succ(Succ(x1995))))=x1997 & Succ(Succ(Succ(Succ(x1994))))=x1996 & (\/x1998,x1999:new_primModNatS02(x1997, x1996, x1995, x1994)=Succ(x1998) & Succ(Succ(Succ(x1995)))=x1997 & Succ(Succ(Succ(x1994)))=x1996 ==> new_quot1(x1999, Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))))_>=_new_quot2(x1999, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1995))), Succ(Succ(Succ(x1994))), Succ(x1995), Succ(x1994))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1995))), Succ(Succ(Succ(x1994))), Succ(x1995), Succ(x1994))))) ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) 176.48/121.97 176.48/121.97 (17) (new_primModNatS01(x2001, x2000)=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2001 & Succ(Succ(Succ(Zero)))=x2000 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 (18) (Succ(Succ(x2004))=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2004 & Succ(Succ(Succ(Succ(x2002))))=x2003 ==> new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (19) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (20) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (21) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (22) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (23) (new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero))))), new_quot2(x1028, False, x1029, x1030) -> new_quot1(x1028, x1029, x1030, Integer(Pos(Zero)), x1029) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot2(x1028, False, x1029, x1030) ==> new_quot1(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088)))))) -> new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), new_quot2(x1089, False, x1090, x1091) -> new_quot1(x1089, x1090, x1091, Integer(Pos(Zero)), x1090) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))=new_quot2(x1089, False, x1090, x1091) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=x2011 & Pos(Zero)=x2012 & new_primEqInt(x2011, x2012)=False ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2011, x2012)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Neg(Succ(x2014)) & Pos(Zero)=Pos(x2013) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Pos(Succ(x2015)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(x1088)=x2016 & Succ(Succ(Zero))=x2017 & new_primModNatS1(x2016, x2017)=Succ(x2015) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2016, x2017)=Succ(x2015) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (Succ(Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2018) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x2020), Zero), Zero)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2020)) & Succ(Succ(Zero))=Zero ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (9) (new_primModNatS02(x2022, x2021, x2022, x2021)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2022)) & Succ(Succ(Zero))=Succ(x2021) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (x2022=x2023 & x2021=x2024 & new_primModNatS02(x2022, x2021, x2023, x2024)=Succ(x2015) & Succ(Zero)=x2021 ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2022)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2022)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2022, x2021, x2023, x2024)=Succ(x2015) which results in the following new constraints: 176.48/121.97 176.48/121.97 (12) (new_primModNatS01(x2027, x2026)=Succ(x2015) & x2027=Succ(x2025) & x2026=Zero & Succ(Zero)=x2026 ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2027)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2027)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (13) (new_primModNatS02(x2031, x2030, x2029, x2028)=Succ(x2015) & x2031=Succ(x2029) & x2030=Succ(x2028) & Succ(Zero)=x2030 & (\/x2032,x2033:new_primModNatS02(x2031, x2030, x2029, x2028)=Succ(x2032) & x2031=x2029 & x2030=x2028 & Succ(Zero)=x2030 ==> new_quot1(x2033, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))))_>=_new_quot2(x2033, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))))) ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (14) (new_primModNatS01(x2035, x2034)=Succ(x2015) & x2035=Zero & x2034=Zero & Succ(Zero)=x2034 ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2035)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2035)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (15) (Succ(Succ(x2038))=Succ(x2015) & x2038=Zero & x2037=Succ(x2036) & Succ(Zero)=x2037 ==> new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2038)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2038)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (16) (new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (17) (new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149)))))) -> new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero))), new_quot2(x1150, False, x1151, x1152) -> new_quot1(x1150, x1151, x1152, Integer(Pos(Zero)), x1151) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))=new_quot2(x1150, False, x1151, x1152) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=x2041 & Pos(Zero)=x2042 & new_primEqInt(x2041, x2042)=False ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2041, x2042)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Neg(Succ(x2044)) & Pos(Zero)=Pos(x2043) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 176.48/121.97 176.48/121.97 (4) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Pos(Succ(x2045)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Zero=x2046 & x1149=x2047 & Zero=x2048 & new_primModNatS02(x1149, x2046, x2047, x2048)=Succ(x2045) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1149, x2046, x2047, x2048)=Succ(x2045) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x2051, x2050)=Succ(x2045) & Zero=x2050 & x2051=Succ(x2049) & Zero=Zero ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x2051))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2051))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x2051, Zero, x2051, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2051, Zero, x2051, Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x2055, x2054, x2053, x2052)=Succ(x2045) & Zero=x2054 & x2055=Succ(x2053) & Zero=Succ(x2052) & (\/x2056,x2057:new_primModNatS02(x2055, x2054, x2053, x2052)=Succ(x2056) & Zero=x2054 & x2055=x2053 & Zero=x2052 ==> new_quot1(x2057, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2055))))))_>=_new_quot2(x2057, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2055))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x2059, x2058)=Succ(x2045) & Zero=x2058 & x2059=Zero & Zero=Zero ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x2059))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2059))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x2059, Zero, x2059, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2059, Zero, x2059, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x2062))=Succ(x2045) & Zero=x2061 & x2062=Zero & Zero=Succ(x2060) ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(x2062))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2062))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(x2062, Zero, x2062, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2062, Zero, x2062, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (Succ(x2049)=x2063 & new_primModNatS01(x2063, x2050)=Succ(x2045) & Zero=x2050 ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (Zero=x2070 & new_primModNatS01(x2070, x2058)=Succ(x2045) & Zero=x2058 ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2063, x2050)=Succ(x2045) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2065), Succ(x2064)), Succ(x2064))=Succ(x2045) & Succ(x2049)=x2065 & Zero=x2064 ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2070, x2058)=Succ(x2045) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_primModNatS1(new_primMinusNatS0(Succ(x2072), Succ(x2071)), Succ(x2071))=Succ(x2045) & Zero=x2072 & Zero=x2071 ==> new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (15) (new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot2(x1210, False, x1211, x1212) -> new_quot1(x1210, x1211, x1212, Integer(Pos(Zero)), x1211) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot2(x1210, False, x1211, x1212) ==> new_quot1(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242)))))) -> new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), new_quot2(x1244, False, x1245, x1246) -> new_quot1(x1244, x1245, x1246, Integer(Pos(Zero)), x1245) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))=new_quot2(x1244, False, x1245, x1246) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=x2077 & Pos(Zero)=x2078 & new_primEqInt(x2077, x2078)=False ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2077, x2078)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Neg(Succ(x2080)) & Pos(Zero)=Pos(x2079) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 176.48/121.97 176.48/121.97 (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Pos(Succ(x2081)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(Succ(x1242))=x2082 & Succ(Succ(x1243))=x2083 & new_primModNatS02(x2082, x2083, x1242, x1243)=Succ(x2080) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2082, x2083, x1242, x1243)=Succ(x2080) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x2086, x2085)=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2086 & Succ(Succ(Zero))=x2085 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) & Succ(Succ(Succ(x2088)))=x2090 & Succ(Succ(Succ(x2087)))=x2089 & (\/x2091,x2092:new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2091) & Succ(Succ(x2088))=x2090 & Succ(Succ(x2087))=x2089 ==> new_quot1(x2092, Neg(Succ(Succ(Succ(Succ(x2088))))), Pos(Succ(Succ(Succ(Succ(x2087))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2088))))))_>=_new_quot2(x2092, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2088)), Succ(Succ(x2087)), x2088, x2087)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2087))))), Neg(new_primModNatS02(Succ(Succ(x2088)), Succ(Succ(x2087)), x2088, x2087)))) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x2094, x2093)=Succ(x2080) & Succ(Succ(Zero))=x2094 & Succ(Succ(Zero))=x2093 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x2097))=Succ(x2080) & Succ(Succ(Zero))=x2097 & Succ(Succ(Succ(x2095)))=x2096 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2086, x2085)=Succ(x2080) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x2099), Succ(x2098)), Succ(x2098))=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2099 & Succ(Succ(Zero))=x2098 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (11) (new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) & Succ(Succ(Succ(x2088)))=x2090 & Succ(Succ(Succ(x2087)))=x2089 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2094, x2093)=Succ(x2080) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2119), Succ(x2118)), Succ(x2118))=Succ(x2080) & Succ(Succ(Zero))=x2119 & Succ(Succ(Zero))=x2118 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) which results in the following new constraints: 176.48/121.97 176.48/121.97 (15) (new_primModNatS01(x2106, x2105)=Succ(x2080) & Succ(Succ(Succ(Succ(x2104))))=x2106 & Succ(Succ(Succ(Zero)))=x2105 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) 176.48/121.97 176.48/121.97 (16) (new_primModNatS02(x2110, x2109, x2108, x2107)=Succ(x2080) & Succ(Succ(Succ(Succ(x2108))))=x2110 & Succ(Succ(Succ(Succ(x2107))))=x2109 & (\/x2111,x2112:new_primModNatS02(x2110, x2109, x2108, x2107)=Succ(x2111) & Succ(Succ(Succ(x2108)))=x2110 & Succ(Succ(Succ(x2107)))=x2109 ==> new_quot1(x2112, Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))))_>=_new_quot2(x2112, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2108))), Succ(Succ(Succ(x2107))), Succ(x2108), Succ(x2107))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2108))), Succ(Succ(Succ(x2107))), Succ(x2108), Succ(x2107))))) ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) 176.48/121.97 176.48/121.97 (17) (new_primModNatS01(x2114, x2113)=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2114 & Succ(Succ(Succ(Zero)))=x2113 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 (18) (Succ(Succ(x2117))=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2117 & Succ(Succ(Succ(Succ(x2115))))=x2116 ==> new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (19) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (20) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (21) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (22) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (23) (new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero))))), new_quot2(x1333, False, x1334, x1335) -> new_quot1(x1333, x1334, x1335, Integer(Pos(Zero)), x1334) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot2(x1333, False, x1334, x1335) ==> new_quot1(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393)))))) -> new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), new_quot2(x1394, False, x1395, x1396) -> new_quot1(x1394, x1395, x1396, Integer(Pos(Zero)), x1395) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))=new_quot2(x1394, False, x1395, x1396) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=x2124 & Pos(Zero)=x2125 & new_primEqInt(x2124, x2125)=False ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2124, x2125)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Neg(Succ(x2127)) & Pos(Zero)=Pos(x2126) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (4) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Pos(Succ(x2128)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(x1393)=x2129 & Succ(Succ(Zero))=x2130 & new_primModNatS1(x2129, x2130)=Succ(x2127) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2129, x2130)=Succ(x2127) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (Succ(Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2131) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x2133), Zero), Zero)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2133)) & Succ(Succ(Zero))=Zero ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (9) (new_primModNatS02(x2135, x2134, x2135, x2134)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2135)) & Succ(Succ(Zero))=Succ(x2134) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (x2135=x2136 & x2134=x2137 & new_primModNatS02(x2135, x2134, x2136, x2137)=Succ(x2127) & Succ(Zero)=x2134 ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2135, x2134, x2136, x2137)=Succ(x2127) which results in the following new constraints: 176.48/121.97 176.48/121.97 (12) (new_primModNatS01(x2140, x2139)=Succ(x2127) & x2140=Succ(x2138) & x2139=Zero & Succ(Zero)=x2139 ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2140)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2140)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (13) (new_primModNatS02(x2144, x2143, x2142, x2141)=Succ(x2127) & x2144=Succ(x2142) & x2143=Succ(x2141) & Succ(Zero)=x2143 & (\/x2145,x2146:new_primModNatS02(x2144, x2143, x2142, x2141)=Succ(x2145) & x2144=x2142 & x2143=x2141 & Succ(Zero)=x2143 ==> new_quot1(x2146, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))))_>=_new_quot2(x2146, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))))) ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (14) (new_primModNatS01(x2148, x2147)=Succ(x2127) & x2148=Zero & x2147=Zero & Succ(Zero)=x2147 ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2148)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2148)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 (15) (Succ(Succ(x2151))=Succ(x2127) & x2151=Zero & x2150=Succ(x2149) & Succ(Zero)=x2150 ==> new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2151)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2151)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (16) (new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (17) (new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454)))))) -> new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero))), new_quot2(x1455, False, x1456, x1457) -> new_quot1(x1455, x1456, x1457, Integer(Pos(Zero)), x1456) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))=new_quot2(x1455, False, x1456, x1457) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=x2154 & Pos(Zero)=x2155 & new_primEqInt(x2154, x2155)=False ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2154, x2155)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Neg(Succ(x2157)) & Pos(Zero)=Pos(x2156) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 176.48/121.97 176.48/121.97 (4) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Pos(Succ(x2158)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Zero=x2159 & x1454=x2160 & Zero=x2161 & new_primModNatS02(x1454, x2159, x2160, x2161)=Succ(x2157) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1454, x2159, x2160, x2161)=Succ(x2157) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x2164, x2163)=Succ(x2157) & Zero=x2163 & x2164=Succ(x2162) & Zero=Zero ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x2164))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2164))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x2164, Zero, x2164, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2164, Zero, x2164, Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x2168, x2167, x2166, x2165)=Succ(x2157) & Zero=x2167 & x2168=Succ(x2166) & Zero=Succ(x2165) & (\/x2169,x2170:new_primModNatS02(x2168, x2167, x2166, x2165)=Succ(x2169) & Zero=x2167 & x2168=x2166 & Zero=x2165 ==> new_quot1(x2170, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2168))))))_>=_new_quot2(x2170, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2168))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x2172, x2171)=Succ(x2157) & Zero=x2171 & x2172=Zero & Zero=Zero ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x2172))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2172))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x2172, Zero, x2172, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2172, Zero, x2172, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x2175))=Succ(x2157) & Zero=x2174 & x2175=Zero & Zero=Succ(x2173) ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(x2175))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2175))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(x2175, Zero, x2175, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2175, Zero, x2175, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (Succ(x2162)=x2176 & new_primModNatS01(x2176, x2163)=Succ(x2157) & Zero=x2163 ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 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: 176.48/121.97 176.48/121.97 (11) (Zero=x2183 & new_primModNatS01(x2183, x2171)=Succ(x2157) & Zero=x2171 ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2176, x2163)=Succ(x2157) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2178), Succ(x2177)), Succ(x2177))=Succ(x2157) & Succ(x2162)=x2178 & Zero=x2177 ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2183, x2171)=Succ(x2157) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_primModNatS1(new_primMinusNatS0(Succ(x2185), Succ(x2184)), Succ(x2184))=Succ(x2157) & Zero=x2185 & Zero=x2184 ==> new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (15) (new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot2(x1515, False, x1516, x1517) -> new_quot1(x1515, x1516, x1517, Integer(Pos(Zero)), x1516) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot2(x1515, False, x1516, x1517) ==> new_quot1(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547)))))) -> new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), new_quot2(x1549, False, x1550, x1551) -> new_quot1(x1549, x1550, x1551, Integer(Pos(Zero)), x1550) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))=new_quot2(x1549, False, x1550, x1551) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=x2190 & Pos(Zero)=x2191 & new_primEqInt(x2190, x2191)=False ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2190, x2191)=False which results in the following new constraints: 176.48/121.97 176.48/121.97 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Neg(Succ(x2193)) & Pos(Zero)=Pos(x2192) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 176.48/121.97 176.48/121.97 (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Pos(Succ(x2194)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (5) (Succ(Succ(x1547))=x2195 & Succ(Succ(x1548))=x2196 & new_primModNatS02(x2195, x2196, x1547, x1548)=Succ(x2193) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2195, x2196, x1547, x1548)=Succ(x2193) which results in the following new constraints: 176.48/121.97 176.48/121.97 (6) (new_primModNatS01(x2199, x2198)=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2199 & Succ(Succ(Zero))=x2198 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) 176.48/121.97 176.48/121.97 (7) (new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) & Succ(Succ(Succ(x2201)))=x2203 & Succ(Succ(Succ(x2200)))=x2202 & (\/x2204,x2205:new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2204) & Succ(Succ(x2201))=x2203 & Succ(Succ(x2200))=x2202 ==> new_quot1(x2205, Neg(Succ(Succ(Succ(Succ(x2201))))), Neg(Succ(Succ(Succ(Succ(x2200))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2201))))))_>=_new_quot2(x2205, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2201)), Succ(Succ(x2200)), x2201, x2200)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(new_primModNatS02(Succ(Succ(x2201)), Succ(Succ(x2200)), x2201, x2200)))) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))))) 176.48/121.97 176.48/121.97 (8) (new_primModNatS01(x2207, x2206)=Succ(x2193) & Succ(Succ(Zero))=x2207 & Succ(Succ(Zero))=x2206 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 (9) (Succ(Succ(x2210))=Succ(x2193) & Succ(Succ(Zero))=x2210 & Succ(Succ(Succ(x2208)))=x2209 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2199, x2198)=Succ(x2193) which results in the following new constraint: 176.48/121.97 176.48/121.97 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x2212), Succ(x2211)), Succ(x2211))=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2212 & Succ(Succ(Zero))=x2211 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (11) (new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) & Succ(Succ(Succ(x2201)))=x2203 & Succ(Succ(Succ(x2200)))=x2202 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2207, x2206)=Succ(x2193) which results in the following new constraint: 176.48/121.97 176.48/121.97 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2232), Succ(x2231)), Succ(x2231))=Succ(x2193) & Succ(Succ(Zero))=x2232 & Succ(Succ(Zero))=x2231 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (13) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (14) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) which results in the following new constraints: 176.48/121.97 176.48/121.97 (15) (new_primModNatS01(x2219, x2218)=Succ(x2193) & Succ(Succ(Succ(Succ(x2217))))=x2219 & Succ(Succ(Succ(Zero)))=x2218 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) 176.48/121.97 176.48/121.97 (16) (new_primModNatS02(x2223, x2222, x2221, x2220)=Succ(x2193) & Succ(Succ(Succ(Succ(x2221))))=x2223 & Succ(Succ(Succ(Succ(x2220))))=x2222 & (\/x2224,x2225:new_primModNatS02(x2223, x2222, x2221, x2220)=Succ(x2224) & Succ(Succ(Succ(x2221)))=x2223 & Succ(Succ(Succ(x2220)))=x2222 ==> new_quot1(x2225, Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))))_>=_new_quot2(x2225, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2221))), Succ(Succ(Succ(x2220))), Succ(x2221), Succ(x2220))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2221))), Succ(Succ(Succ(x2220))), Succ(x2221), Succ(x2220))))) ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) 176.48/121.97 176.48/121.97 (17) (new_primModNatS01(x2227, x2226)=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2227 & Succ(Succ(Succ(Zero)))=x2226 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 (18) (Succ(Succ(x2230))=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2230 & Succ(Succ(Succ(Succ(x2228))))=x2229 ==> new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (19) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (20) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (21) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (22) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.97 176.48/121.97 (23) (new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 176.48/121.97 *We consider the chain new_quot1(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero))))), new_quot2(x1638, False, x1639, x1640) -> new_quot1(x1638, x1639, x1640, Integer(Pos(Zero)), x1639) which results in the following constraint: 176.48/121.97 176.48/121.97 (1) (new_quot2(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot2(x1638, False, x1639, x1640) ==> new_quot1(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.97 176.48/121.97 (2) (new_quot1(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 176.48/121.97 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 176.48/121.98 *We consider the chain new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698)))))) -> new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), new_quot2(x1699, False, x1700, x1701) -> new_quot1(x1699, x1700, x1701, Integer(Pos(Zero)), x1700) which results in the following constraint: 176.48/121.98 176.48/121.98 (1) (new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))=new_quot2(x1699, False, x1700, x1701) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (2) (Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=x2237 & Pos(Zero)=x2238 & new_primEqInt(x2237, x2238)=False ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2237, x2238)=False which results in the following new constraints: 176.48/121.98 176.48/121.98 (3) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Neg(Succ(x2240)) & Pos(Zero)=Pos(x2239) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (4) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Pos(Succ(x2241)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (5) (Succ(x1698)=x2242 & Succ(Succ(Zero))=x2243 & new_primModNatS1(x2242, x2243)=Succ(x2240) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2242, x2243)=Succ(x2240) which results in the following new constraints: 176.48/121.98 176.48/121.98 (6) (Succ(Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2244) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x2246), Zero), Zero)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2246)) & Succ(Succ(Zero))=Zero ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (9) (new_primModNatS02(x2248, x2247, x2248, x2247)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2248)) & Succ(Succ(Zero))=Succ(x2247) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.48/121.98 176.48/121.98 (10) (new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 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: 176.48/121.98 176.48/121.98 (11) (x2248=x2249 & x2247=x2250 & new_primModNatS02(x2248, x2247, x2249, x2250)=Succ(x2240) & Succ(Zero)=x2247 ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2248)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2248)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2248, x2247, x2249, x2250)=Succ(x2240) which results in the following new constraints: 176.48/121.98 176.48/121.98 (12) (new_primModNatS01(x2253, x2252)=Succ(x2240) & x2253=Succ(x2251) & x2252=Zero & Succ(Zero)=x2252 ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2253)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2253)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (13) (new_primModNatS02(x2257, x2256, x2255, x2254)=Succ(x2240) & x2257=Succ(x2255) & x2256=Succ(x2254) & Succ(Zero)=x2256 & (\/x2258,x2259:new_primModNatS02(x2257, x2256, x2255, x2254)=Succ(x2258) & x2257=x2255 & x2256=x2254 & Succ(Zero)=x2256 ==> new_quot1(x2259, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))))_>=_new_quot2(x2259, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))))) ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (14) (new_primModNatS01(x2261, x2260)=Succ(x2240) & x2261=Zero & x2260=Zero & Succ(Zero)=x2260 ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2261)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2261)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 (15) (Succ(Succ(x2264))=Succ(x2240) & x2264=Zero & x2263=Succ(x2262) & Succ(Zero)=x2263 ==> new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2264)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2264)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 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: 176.48/121.98 176.48/121.98 (16) (new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 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: 176.48/121.98 176.48/121.98 (17) (new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.48/121.98 *We consider the chain new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759)))))) -> new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero))), new_quot2(x1760, False, x1761, x1762) -> new_quot1(x1760, x1761, x1762, Integer(Pos(Zero)), x1761) which results in the following constraint: 176.48/121.98 176.48/121.98 (1) (new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))=new_quot2(x1760, False, x1761, x1762) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (2) (Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=x2267 & Pos(Zero)=x2268 & new_primEqInt(x2267, x2268)=False ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2267, x2268)=False which results in the following new constraints: 176.48/121.98 176.48/121.98 (3) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Neg(Succ(x2270)) & Pos(Zero)=Pos(x2269) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 176.48/121.98 176.48/121.98 (4) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Pos(Succ(x2271)) & Pos(Zero)=Pos(Zero) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (5) (Zero=x2272 & x1759=x2273 & Zero=x2274 & new_primModNatS02(x1759, x2272, x2273, x2274)=Succ(x2270) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1759, x2272, x2273, x2274)=Succ(x2270) which results in the following new constraints: 176.48/121.98 176.48/121.98 (6) (new_primModNatS01(x2277, x2276)=Succ(x2270) & Zero=x2276 & x2277=Succ(x2275) & Zero=Zero ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x2277))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2277))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x2277, Zero, x2277, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2277, Zero, x2277, Zero)))) 176.48/121.98 176.48/121.98 (7) (new_primModNatS02(x2281, x2280, x2279, x2278)=Succ(x2270) & Zero=x2280 & x2281=Succ(x2279) & Zero=Succ(x2278) & (\/x2282,x2283:new_primModNatS02(x2281, x2280, x2279, x2278)=Succ(x2282) & Zero=x2280 & x2281=x2279 & Zero=x2278 ==> new_quot1(x2283, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2281))))))_>=_new_quot2(x2283, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2281))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) 176.48/121.98 176.48/121.98 (8) (new_primModNatS01(x2285, x2284)=Succ(x2270) & Zero=x2284 & x2285=Zero & Zero=Zero ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x2285))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2285))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x2285, Zero, x2285, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2285, Zero, x2285, Zero)))) 176.48/121.98 176.48/121.98 (9) (Succ(Succ(x2288))=Succ(x2270) & Zero=x2287 & x2288=Zero & Zero=Succ(x2286) ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(x2288))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2288))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(x2288, Zero, x2288, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2288, Zero, x2288, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (10) (Succ(x2275)=x2289 & new_primModNatS01(x2289, x2276)=Succ(x2270) & Zero=x2276 ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 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: 176.48/121.98 176.48/121.98 (11) (Zero=x2296 & new_primModNatS01(x2296, x2284)=Succ(x2270) & Zero=x2284 ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2289, x2276)=Succ(x2270) which results in the following new constraint: 176.48/121.98 176.48/121.98 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x2291), Succ(x2290)), Succ(x2290))=Succ(x2270) & Succ(x2275)=x2291 & Zero=x2290 ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (13) (new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2296, x2284)=Succ(x2270) which results in the following new constraint: 176.48/121.98 176.48/121.98 (14) (new_primModNatS1(new_primMinusNatS0(Succ(x2298), Succ(x2297)), Succ(x2297))=Succ(x2270) & Zero=x2298 & Zero=x2297 ==> new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 176.48/121.98 176.48/121.98 (15) (new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 For Pair new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 176.48/121.98 *We consider the chain new_quot1(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot2(x1820, False, x1821, x1822) -> new_quot1(x1820, x1821, x1822, Integer(Pos(Zero)), x1821) which results in the following constraint: 176.48/121.98 176.48/121.98 (1) (new_quot2(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot2(x1820, False, x1821, x1822) ==> new_quot1(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.48/121.98 176.48/121.98 (2) (new_quot1(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 To summarize, we get the following constraints P__>=_ for the following pairs. 176.48/121.98 176.48/121.98 *new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.98 176.48/121.98 *(new_quot2(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot1(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Integer(Pos(Zero)), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot1(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Integer(Pos(Zero)), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot1(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Integer(Pos(Zero)), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot1(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Integer(Pos(Zero)), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot1(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot1(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot1(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot1(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot1(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x47))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot1(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x58))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x63))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot1(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x72))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot1(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x83))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x88))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot1(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x97))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot1(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x108))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x113))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot1(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot1(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x122))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot1(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot1(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x133))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x138))))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot2(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot1(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Integer(Pos(Zero)), Pos(Succ(Zero)))_>=_new_quot2(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Integer(Pos(Zero)), Neg(Succ(Zero)))_>=_new_quot2(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.98 176.48/121.98 *(new_quot1(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.98 176.48/121.98 *(new_quot1(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero))))_>=_new_quot2(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.98 176.48/121.98 *(new_quot1(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.98 176.48/121.98 *(new_quot1(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero))))_>=_new_quot2(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))))_>=_new_quot2(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))))_>=_new_quot2(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))))_>=_new_quot2(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 176.48/121.98 *(new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))))_>=_new_quot2(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 *(new_quot1(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot2(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 *new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.98 176.48/121.98 *(new_quot1(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot2(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 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. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (591) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_quot2(vuz360, False, vuz94, vuz165) -> new_quot1(vuz360, vuz94, vuz165, Integer(Pos(Zero)), vuz94) 176.48/121.98 new_quot1(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.98 new_quot1(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Pos(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Integer(Pos(Zero)), Neg(Succ(Zero))) -> new_quot2(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Integer(Pos(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 new_quot1(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot2(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.48/121.98 new_quot1(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Integer(Pos(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot2(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.98 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.98 new_primModNatS1(Zero, x0) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 new_primModNatS01(x0, x1) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.98 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (592) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_quot3(vuz194, vuz195, Succ(vuz1960), Succ(vuz1970), vuz198, vuz199) -> new_quot3(vuz194, vuz195, vuz1960, vuz1970, vuz198, vuz199) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (593) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_quot3(vuz194, vuz195, Succ(vuz1960), Succ(vuz1970), vuz198, vuz199) -> new_quot3(vuz194, vuz195, vuz1960, vuz1970, vuz198, vuz199) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5, 6 >= 6 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (594) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (595) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_quot5(vuz151, vuz152, Succ(vuz1530), Succ(vuz1540), vuz155, vuz156) -> new_quot5(vuz151, vuz152, vuz1530, vuz1540, vuz155, vuz156) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (596) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_quot5(vuz151, vuz152, Succ(vuz1530), Succ(vuz1540), vuz155, vuz156) -> new_quot5(vuz151, vuz152, vuz1530, vuz1540, vuz155, vuz156) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5, 6 >= 6 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (597) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (598) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_absReal1(vuz130, Succ(vuz1310), Succ(vuz1320)) -> new_absReal1(vuz130, vuz1310, vuz1320) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (599) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_absReal1(vuz130, Succ(vuz1310), Succ(vuz1320)) -> new_absReal1(vuz130, vuz1310, vuz1320) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (600) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (601) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_absReal10(vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_absReal10(vuz104, vuz1050, vuz1060) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (602) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_absReal10(vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_absReal10(vuz104, vuz1050, vuz1060) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (603) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (604) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS0(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS0(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Zero, Zero) -> new_primModNatS00(vuz158, vuz159) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (605) DependencyGraphProof (EQUIVALENT) 176.48/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (606) 176.48/121.98 Complex Obligation (AND) 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (607) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS0(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS0(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Zero, Zero) -> new_primModNatS00(vuz158, vuz159) 176.48/121.98 new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (608) TransformationProof (EQUIVALENT) 176.48/121.98 By rewriting [LPAR04] the rule new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) at position [0] we obtained the following new rules [LPAR04]: 176.48/121.98 176.48/121.98 (new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)),new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159))) 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (609) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS0(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS0(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Zero, Zero) -> new_primModNatS00(vuz158, vuz159) 176.48/121.98 new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (610) TransformationProof (EQUIVALENT) 176.48/121.98 By rewriting [LPAR04] the rule new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) at position [0] we obtained the following new rules [LPAR04]: 176.48/121.98 176.48/121.98 (new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)),new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159))) 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (611) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS0(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS0(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Zero, Zero) -> new_primModNatS00(vuz158, vuz159) 176.48/121.98 new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)) 176.48/121.98 new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (612) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.48/121.98 176.48/121.98 Order:Polynomial interpretation [POLO]: 176.48/121.98 176.48/121.98 POL(Succ(x_1)) = 1 + x_1 176.48/121.98 POL(Zero) = 1 176.48/121.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)) (allowed arguments on rhs = {1, 2}) 176.48/121.98 The graph contains the following edges 1 >= 1 176.48/121.98 176.48/121.98 176.48/121.98 *new_primModNatS00(vuz158, vuz159) -> new_primModNatS(new_primMinusNatS0(vuz158, vuz159), Succ(vuz159)) (allowed arguments on rhs = {1, 2}) 176.48/121.98 The graph contains the following edges 1 >= 1 176.48/121.98 176.48/121.98 176.48/121.98 *new_primModNatS(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS0(vuz69000, vuz68000, vuz69000, vuz68000) (allowed arguments on rhs = {1, 2, 3, 4}) 176.48/121.98 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 176.48/121.98 176.48/121.98 176.48/121.98 *new_primModNatS0(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS0(vuz158, vuz159, vuz1600, vuz1610) (allowed arguments on rhs = {1, 2, 3, 4}) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 176.48/121.98 176.48/121.98 176.48/121.98 *new_primModNatS0(vuz158, vuz159, Zero, Zero) -> new_primModNatS00(vuz158, vuz159) (allowed arguments on rhs = {1, 2}) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (613) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (614) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primModNatS(Succ(Succ(vuz69000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (615) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.48/121.98 176.48/121.98 Order:Polynomial interpretation [POLO]: 176.48/121.98 176.48/121.98 POL(Succ(x_1)) = 1 + x_1 176.48/121.98 POL(Zero) = 1 176.48/121.98 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primModNatS(Succ(Succ(vuz69000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) (allowed arguments on rhs = {1, 2}) 176.48/121.98 The graph contains the following edges 1 > 1, 2 >= 2 176.48/121.98 176.48/121.98 176.48/121.98 176.48/121.98 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.48/121.98 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (616) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (617) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primMulNat(Succ(vuz9100), Succ(vuz30100)) -> new_primMulNat(vuz9100, Succ(vuz30100)) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (618) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primMulNat(Succ(vuz9100), Succ(vuz30100)) -> new_primMulNat(vuz9100, Succ(vuz30100)) 176.48/121.98 The graph contains the following edges 1 > 1, 2 >= 2 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (619) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (620) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNatS(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS(vuz880, vuz890) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (621) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primMinusNatS(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS(vuz880, vuz890) 176.48/121.98 The graph contains the following edges 1 > 1, 2 > 2 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (622) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (623) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_quot4(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900), vuz191, vuz192) -> new_quot4(vuz187, vuz188, vuz1890, vuz1900, vuz191, vuz192) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (624) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_quot4(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900), vuz191, vuz192) -> new_quot4(vuz187, vuz188, vuz1890, vuz1900, vuz191, vuz192) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5, 6 >= 6 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (625) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (626) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_enforceWHNF(vuz7, :(vuz80, vuz81), h) -> new_enforceWHNF(new_ps(vuz7, vuz80, h), vuz81, h) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_absReal19(vuz130, Succ(vuz1310), Zero) -> new_absReal111(vuz130) 176.48/121.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS2, Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.98 new_quot20(vuz360, Integer(Pos(Zero)), Integer(Pos(Zero)), vuz62, vuz370, vuz70) -> new_quot48(vuz360, vuz62, vuz370) 176.48/121.98 new_absReal16(Neg(Zero), Neg(Succ(vuz7200))) -> new_absReal15 176.48/121.98 new_primPlusNat0(Zero, Zero) -> Zero 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primMulInt(Pos(vuz910), Neg(vuz3010)) -> Neg(new_primMulNat0(vuz910, vuz3010)) 176.48/121.98 new_primMulInt(Neg(vuz910), Pos(vuz3010)) -> Neg(new_primMulNat0(vuz910, vuz3010)) 176.48/121.98 new_quot35(vuz182, vuz183) -> new_quot17(vuz182, Neg(Succ(vuz183))) 176.48/121.98 new_quot28(vuz360, Pos(Zero), Integer(Pos(Succ(vuz102000)))) -> new_quot17(vuz360, new_primNegInt1) 176.48/121.98 new_primDivNatS1(Zero, vuz5600) -> Zero 176.48/121.98 new_quot13(vuz360, True, vuz370, vuz94) -> new_quot28(vuz360, vuz370, new_fromInt0) 176.48/121.98 new_primMinusNatS2 -> Zero 176.48/121.98 new_sr0(Integer(vuz230), Integer(vuz210)) -> Integer(new_primMulInt(vuz230, vuz210)) 176.48/121.98 new_primPlusInt(Neg(vuz120), Neg(vuz300)) -> Neg(new_primPlusNat0(vuz120, vuz300)) 176.48/121.98 new_primDivNatS02(vuz97, vuz98, Zero, Zero) -> new_primDivNatS01(vuz97, vuz98) 176.48/121.98 new_quot28(vuz360, Neg(Zero), Integer(Neg(Zero))) -> new_quot7(vuz360) 176.48/121.98 new_quot51(vuz151, vuz152, Zero, Zero, vuz155, vuz156) -> new_quot31(vuz151, vuz152, vuz155, vuz156) 176.48/121.98 new_quot28(vuz360, Pos(Zero), Integer(Neg(Succ(vuz102000)))) -> new_quot23(vuz360) 176.48/121.98 new_quot28(vuz360, Pos(Succ(vuz37000)), Integer(Pos(vuz10200))) -> new_quot15(vuz360, vuz37000, Succ(vuz37000), vuz10200) 176.48/121.98 new_quot37(vuz360, Neg(Zero), Integer(Neg(Zero)), vuz94, vuz101, vuz109) -> new_quot42(vuz360, vuz94, vuz101) 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Succ(vuz38000))), Integer(Pos(vuz7100)), vuz62, vuz370, vuz70) -> new_quot50(vuz360, vuz38000, vuz62, vuz370) 176.48/121.98 new_gcd1(False, vuz31, vuz30) -> new_gcd0(vuz31, vuz30) 176.48/121.98 new_primDivNatS1(Succ(Zero), Succ(vuz56000)) -> Zero 176.48/121.98 new_quot11(vuz141, vuz142, Zero, Zero, vuz145, vuz146) -> new_quot14(vuz141, vuz142, vuz145, vuz146) 176.48/121.98 new_primDivNatS02(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS01(vuz97, vuz98) 176.48/121.98 new_quot43(vuz360, vuz94, vuz101) -> new_quot33(vuz360, Neg(Zero), vuz94, vuz101, Neg(Zero)) 176.48/121.98 new_quot37(vuz360, Pos(Succ(vuz37000)), Integer(Pos(vuz11000)), vuz94, vuz101, vuz109) -> new_quot38(vuz360, vuz37000, Succ(vuz37000), vuz11000, vuz94, vuz101) 176.48/121.98 new_quot27(vuz360, vuz370, vuz94, vuz101) -> new_quot37(vuz360, vuz370, new_fromInt0, vuz94, vuz101, new_fromInt0) 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_quot37(vuz360, Pos(Zero), Integer(Neg(Zero)), vuz94, vuz101, vuz109) -> new_quot39(vuz360, vuz94, vuz101) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_quot48(vuz360, vuz62, vuz370) -> new_quot49(vuz360, vuz62, vuz370) 176.48/121.98 new_gcd0Gcd'10(False, vuz68, vuz69) -> new_gcd0Gcd'00(vuz68, new_rem(vuz69, vuz68)) 176.48/121.98 new_quot37(vuz360, Neg(Zero), Integer(Pos(Zero)), vuz94, vuz101, vuz109) -> new_quot42(vuz360, vuz94, vuz101) 176.48/121.98 new_primQuotInt1(Neg(vuz3600), Neg(Succ(vuz13600))) -> Pos(new_primDivNatS1(vuz3600, vuz13600)) 176.48/121.98 new_quot34(vuz182, vuz183, Succ(vuz1840), Succ(vuz1850)) -> new_quot34(vuz182, vuz183, vuz1840, vuz1850) 176.48/121.98 new_gcd0Gcd'11(True, vuz31, vuz30) -> new_abs(vuz31) 176.48/121.98 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 176.48/121.98 new_primPlusInt(Pos(vuz120), Neg(vuz300)) -> new_primMinusNat0(vuz120, vuz300) 176.48/121.98 new_primPlusInt(Neg(vuz120), Pos(vuz300)) -> new_primMinusNat0(vuz300, vuz120) 176.48/121.98 new_quot20(vuz360, Integer(Pos(Zero)), Integer(Pos(Succ(vuz71000))), vuz62, vuz370, vuz70) -> new_quot13(vuz360, new_esEs0(new_primNegInt1, vuz62), vuz370, new_primNegInt1) 176.48/121.98 new_primDivNatS02(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS02(vuz97, vuz98, vuz990, vuz1000) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.98 new_primQuotInt0(vuz290, Neg(Zero)) -> new_error 176.48/121.98 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.98 new_primQuotInt(vuz290, Neg(Zero)) -> new_error 176.48/121.98 new_quot45(vuz360, True, vuz370, vuz380) -> error([]) 176.48/121.98 new_sr(vuz91, vuz301) -> new_primMulInt(vuz91, vuz301) 176.48/121.98 new_ps(vuz7, vuz80, app(ty_Ratio, ba)) -> new_ps4(vuz7, vuz80, ba) 176.48/121.98 new_quot14(vuz360, vuz38000, vuz62, vuz370) -> new_quot13(vuz360, new_esEs0(Pos(Succ(vuz38000)), vuz62), vuz370, Pos(Succ(vuz38000))) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Zero)), Integer(Pos(Zero)), vuz62, vuz370, vuz70) -> new_quot9(vuz360, vuz62, vuz370) 176.48/121.98 new_quot42(vuz360, vuz94, vuz101) -> new_quot43(vuz360, vuz94, vuz101) 176.48/121.98 new_absReal16(Pos(Zero), Pos(Succ(vuz7200))) -> new_primNegInt1 176.48/121.98 new_primMulNat0(Zero, Zero) -> Zero 176.48/121.98 new_primQuotInt(vuz290, Pos(Succ(vuz5600))) -> Pos(new_primDivNatS1(vuz290, vuz5600)) 176.48/121.98 new_quot34(vuz182, vuz183, Succ(vuz1840), Zero) -> new_quot35(vuz182, vuz183) 176.48/121.98 new_quot47(vuz360, Integer(vuz380), Integer(vuz530), vuz370) -> new_quot45(vuz360, new_primEqInt(vuz380, vuz530), vuz370, vuz380) 176.48/121.98 new_absReal16(Neg(Succ(vuz3000)), Pos(vuz720)) -> new_absReal11(vuz3000) 176.48/121.98 new_absReal12(vuz104, Succ(vuz1050), Zero) -> new_absReal13(vuz104) 176.48/121.98 new_gcd0(vuz31, vuz30) -> new_gcd0Gcd'11(new_esEs(new_abs(vuz30), new_fromInt), vuz31, vuz30) 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_quot54(vuz23, vuz21, vuz20, vuz22, ty_Integer) -> new_quot25(new_sr0(vuz23, vuz21), new_ps2(new_sr0(vuz20, vuz21), new_sr0(vuz22, vuz23)), vuz23, vuz21) 176.48/121.98 new_primMulNat0(Succ(vuz9100), Succ(vuz30100)) -> new_primPlusNat0(new_primMulNat0(vuz9100, Succ(vuz30100)), Succ(vuz30100)) 176.48/121.98 new_esEs1(vuz131, vuz301, ty_Int) -> new_esEs(new_sr(vuz131, vuz301), new_fromInt) 176.48/121.98 new_absReal16(Pos(Succ(vuz3000)), Neg(vuz720)) -> new_absReal13(vuz3000) 176.48/121.98 new_quot7(vuz360) -> new_quot8(vuz360) 176.48/121.98 new_absReal15 -> Neg(Zero) 176.48/121.98 new_primQuotInt(vuz290, Pos(Zero)) -> new_error 176.48/121.98 new_gcd0Gcd'11(False, vuz31, vuz30) -> new_gcd0Gcd'00(new_abs(vuz31), new_abs(vuz30)) 176.48/121.98 new_quot15(vuz177, vuz178, Succ(vuz1790), Succ(vuz1800)) -> new_quot15(vuz177, vuz178, vuz1790, vuz1800) 176.48/121.98 new_quot29(vuz360, vuz37000, vuz94, vuz101) -> new_quot30(vuz360, vuz37000, vuz94, vuz101) 176.48/121.98 new_quot28(vuz360, Neg(Zero), Integer(Neg(Succ(vuz102000)))) -> new_quot8(vuz360) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.98 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.98 new_primNegInt0(vuz104) -> Neg(Succ(vuz104)) 176.48/121.98 new_primQuotInt0(vuz290, Pos(Succ(vuz5900))) -> Neg(new_primDivNatS1(vuz290, vuz5900)) 176.48/121.98 new_absReal19(vuz130, Succ(vuz1310), Succ(vuz1320)) -> new_absReal19(vuz130, vuz1310, vuz1320) 176.48/121.98 new_quot16(vuz360, vuz37000) -> new_quot18(vuz360, vuz37000) 176.48/121.98 new_quot15(vuz177, vuz178, Succ(vuz1790), Zero) -> new_quot16(vuz177, vuz178) 176.48/121.98 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primMinusNat0(Succ(vuz1200), Zero) -> Pos(Succ(vuz1200)) 176.48/121.98 new_quot41(vuz194, vuz195, Zero, Zero, vuz198, vuz199) -> new_quot52(vuz194, vuz195, vuz198, vuz199) 176.48/121.98 new_absReal16(Pos(Succ(vuz3000)), Pos(vuz720)) -> new_absReal12(vuz3000, Succ(vuz3000), vuz720) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Zero)), Integer(Neg(Zero)), vuz62, vuz370, vuz70) -> new_quot9(vuz360, vuz62, vuz370) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primQuotInt1(Pos(vuz3600), Pos(Zero)) -> new_error 176.48/121.98 new_absReal12(vuz104, Zero, Zero) -> new_absReal14(vuz104) 176.48/121.98 new_quot34(vuz182, vuz183, Zero, Zero) -> new_quot35(vuz182, vuz183) 176.48/121.98 new_primPlusInt(Pos(vuz120), Pos(vuz300)) -> Pos(new_primPlusNat0(vuz120, vuz300)) 176.48/121.98 new_quot19(vuz360, vuz38, vuz62, vuz370) -> new_quot20(vuz360, vuz38, new_fromInt0, vuz62, vuz370, new_fromInt0) 176.48/121.98 new_primQuotInt1(Pos(vuz3600), Pos(Succ(vuz13600))) -> Pos(new_primDivNatS1(vuz3600, vuz13600)) 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_absReal18 -> Pos(Zero) 176.48/121.98 new_absReal16(Pos(Zero), Neg(Succ(vuz7200))) -> new_absReal18 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_quot8(vuz360) -> new_quot17(vuz360, Neg(Zero)) 176.48/121.98 new_esEs1(vuz131, vuz301, ty_Integer) -> new_esEs2(vuz131, vuz301, new_fromInt0) 176.48/121.98 new_quot18(vuz360, vuz37000) -> new_quot17(vuz360, Pos(Succ(vuz37000))) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_absReal111(vuz130) -> Neg(Succ(vuz130)) 176.48/121.98 new_quot51(vuz151, vuz152, Succ(vuz1530), Succ(vuz1540), vuz155, vuz156) -> new_quot51(vuz151, vuz152, vuz1530, vuz1540, vuz155, vuz156) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.98 new_gcd2(False, vuz31, vuz30) -> new_gcd0(vuz31, vuz30) 176.48/121.98 new_quot38(vuz187, vuz188, Zero, Succ(vuz1900), vuz191, vuz192) -> new_quot33(vuz187, new_primNegInt0(vuz188), vuz191, vuz192, new_primNegInt0(vuz188)) 176.48/121.98 new_absReal16(Pos(Zero), Neg(Zero)) -> new_absReal17 176.48/121.98 new_quot41(vuz194, vuz195, Succ(vuz1960), Succ(vuz1970), vuz198, vuz199) -> new_quot41(vuz194, vuz195, vuz1960, vuz1970, vuz198, vuz199) 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.98 new_quot41(vuz194, vuz195, Succ(vuz1960), Zero, vuz198, vuz199) -> new_quot52(vuz194, vuz195, vuz198, vuz199) 176.48/121.98 new_quot37(vuz360, Pos(Zero), Integer(Pos(Zero)), vuz94, vuz101, vuz109) -> new_quot39(vuz360, vuz94, vuz101) 176.48/121.98 new_absReal17 -> new_absReal18 176.48/121.98 new_quot30(vuz360, vuz37000, vuz94, vuz101) -> new_quot33(vuz360, Pos(Succ(vuz37000)), vuz94, vuz101, Pos(Succ(vuz37000))) 176.48/121.98 new_quot53(vuz20, vuz21, vuz22, vuz23, ty_Int) -> new_quot55(new_ps3(new_sr(vuz20, vuz21), new_sr(vuz22, vuz23)), new_ps3(new_sr(vuz20, vuz21), new_sr(vuz22, vuz23)), new_sr(vuz23, vuz21)) 176.48/121.98 new_quot39(vuz360, vuz94, vuz101) -> new_quot40(vuz360, vuz94, vuz101) 176.48/121.98 new_quot28(vuz360, Pos(Zero), Integer(Pos(Zero))) -> new_quot24(vuz360) 176.48/121.98 new_absReal12(vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_absReal12(vuz104, vuz1050, vuz1060) 176.48/121.98 new_ps2(Integer(vuz110), Integer(vuz300)) -> Integer(new_primPlusInt(vuz110, vuz300)) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primQuotInt1(Pos(vuz3600), Neg(Succ(vuz13600))) -> Neg(new_primDivNatS1(vuz3600, vuz13600)) 176.48/121.98 new_primQuotInt1(Neg(vuz3600), Pos(Succ(vuz13600))) -> Neg(new_primDivNatS1(vuz3600, vuz13600)) 176.48/121.98 new_quot34(vuz182, vuz183, Zero, Succ(vuz1850)) -> new_quot36(vuz182, vuz183) 176.48/121.98 new_quot37(vuz360, Neg(Succ(vuz37000)), Integer(Pos(vuz11000)), vuz94, vuz101, vuz109) -> new_quot32(vuz360, vuz37000, vuz94, vuz101) 176.48/121.98 new_quot51(vuz151, vuz152, Zero, Succ(vuz1540), vuz155, vuz156) -> new_quot50(vuz151, vuz152, vuz155, vuz156) 176.48/121.98 new_absReal110 -> new_absReal15 176.48/121.98 new_quot50(vuz360, vuz38000, vuz62, vuz370) -> new_quot13(vuz360, new_esEs0(new_primNegInt(vuz38000), vuz62), vuz370, new_primNegInt(vuz38000)) 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_quot37(vuz360, Pos(Succ(vuz37000)), Integer(Neg(vuz11000)), vuz94, vuz101, vuz109) -> new_quot29(vuz360, vuz37000, vuz94, vuz101) 176.48/121.98 new_primMinusNat0(Succ(vuz1200), Succ(vuz3000)) -> new_primMinusNat0(vuz1200, vuz3000) 176.48/121.98 new_quot55(Neg(vuz290), vuz31, vuz30) -> new_primQuotInt0(vuz290, new_gcd(vuz31, vuz30)) 176.48/121.98 new_ps(vuz7, vuz80, ty_Double) -> new_ps1(vuz7, vuz80) 176.48/121.98 new_quot28(vuz360, Pos(Succ(vuz37000)), Integer(Neg(vuz10200))) -> new_quot16(vuz360, vuz37000) 176.48/121.98 new_esEs0(vuz28, Integer(vuz250)) -> new_primEqInt(vuz28, vuz250) 176.48/121.98 new_quot38(vuz187, vuz188, Succ(vuz1890), Succ(vuz1900), vuz191, vuz192) -> new_quot38(vuz187, vuz188, vuz1890, vuz1900, vuz191, vuz192) 176.48/121.98 new_gcd1(True, vuz31, vuz30) -> new_error 176.48/121.98 new_quot52(vuz194, vuz195, vuz198, vuz199) -> new_quot33(vuz194, Neg(Succ(vuz195)), vuz198, vuz199, Neg(Succ(vuz195))) 176.48/121.98 new_quot55(Pos(vuz290), vuz31, vuz30) -> new_primQuotInt(vuz290, new_gcd(vuz31, vuz30)) 176.48/121.98 new_ps1(Double(vuz100, vuz101), Double(vuz300, vuz301)) -> Double(new_ps3(new_sr(vuz100, vuz301), new_sr(vuz300, vuz101)), new_sr(vuz101, vuz301)) 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_quot24(vuz360) -> new_quot23(vuz360) 176.48/121.98 new_absReal12(vuz104, Zero, Succ(vuz1060)) -> new_primNegInt0(vuz104) 176.48/121.98 new_quot11(vuz141, vuz142, Zero, Succ(vuz1440), vuz145, vuz146) -> new_quot13(vuz141, new_esEs0(new_primNegInt0(vuz142), vuz145), vuz146, new_primNegInt0(vuz142)) 176.48/121.98 new_gcd0Gcd'10(True, vuz68, vuz69) -> vuz68 176.48/121.98 new_primPlusNat0(Succ(vuz1200), Succ(vuz3000)) -> Succ(Succ(new_primPlusNat0(vuz1200, vuz3000))) 176.48/121.98 new_ps(vuz7, vuz80, ty_Integer) -> new_ps2(vuz7, vuz80) 176.48/121.98 new_quot44(vuz360, True, vuz94, vuz165) -> new_quot17(vuz360, vuz94) 176.48/121.98 new_quot28(vuz360, Neg(Succ(vuz37000)), Integer(Neg(vuz10200))) -> new_quot34(vuz360, vuz37000, vuz10200, Succ(vuz37000)) 176.48/121.98 new_absReal16(Neg(Zero), Pos(Zero)) -> new_absReal110 176.48/121.98 new_quot36(vuz360, vuz37000) -> new_quot17(vuz360, new_primNegInt(vuz37000)) 176.48/121.98 new_quot28(vuz360, Neg(Zero), Integer(Pos(Succ(vuz102000)))) -> new_quot17(vuz360, new_primNegInt2) 176.48/121.98 new_quot10(vuz360, vuz62, vuz370) -> new_quot13(vuz360, new_esEs0(Neg(Zero), vuz62), vuz370, Neg(Zero)) 176.48/121.98 new_absReal11(vuz3000) -> new_primNegInt(vuz3000) 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_quot40(vuz360, vuz94, vuz101) -> new_quot33(vuz360, Pos(Zero), vuz94, vuz101, Pos(Zero)) 176.48/121.98 new_quot38(vuz187, vuz188, Zero, Zero, vuz191, vuz192) -> new_quot30(vuz187, vuz188, vuz191, vuz192) 176.48/121.98 new_quot31(vuz151, vuz152, vuz155, vuz156) -> new_quot13(vuz151, new_esEs0(Neg(Succ(vuz152)), vuz155), vuz156, Neg(Succ(vuz152))) 176.48/121.98 new_quot11(vuz141, vuz142, Succ(vuz1430), Succ(vuz1440), vuz145, vuz146) -> new_quot11(vuz141, vuz142, vuz1430, vuz1440, vuz145, vuz146) 176.48/121.98 new_primDivNatS02(vuz97, vuz98, Zero, Succ(vuz1000)) -> Zero 176.48/121.98 new_primMulInt(Pos(vuz910), Pos(vuz3010)) -> Pos(new_primMulNat0(vuz910, vuz3010)) 176.48/121.98 new_ps(vuz7, vuz80, ty_Int) -> new_ps3(vuz7, vuz80) 176.48/121.98 new_quot53(vuz20, vuz21, vuz22, vuz23, ty_Integer) -> new_quot25(new_ps2(new_sr0(vuz20, vuz21), new_sr0(vuz22, vuz23)), new_ps2(new_sr0(vuz20, vuz21), new_sr0(vuz22, vuz23)), vuz23, vuz21) 176.48/121.98 new_esEs(vuz27, vuz26) -> new_primEqInt(vuz27, vuz26) 176.48/121.98 new_quot12(vuz360, vuz38000, vuz62, vuz370) -> new_quot14(vuz360, vuz38000, vuz62, vuz370) 176.48/121.98 new_quot20(vuz360, Integer(Pos(Succ(vuz38000))), Integer(Pos(vuz7100)), vuz62, vuz370, vuz70) -> new_quot11(vuz360, vuz38000, Succ(vuz38000), vuz7100, vuz62, vuz370) 176.48/121.98 new_primDivNatS1(Succ(Succ(vuz29000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1(vuz29000), Zero)) 176.48/121.98 new_abs(vuz30) -> new_absReal16(vuz30, new_fromInt) 176.48/121.98 new_primMulNat0(Succ(vuz9100), Zero) -> Zero 176.48/121.98 new_primMulNat0(Zero, Succ(vuz30100)) -> Zero 176.48/121.98 new_reduce2Reduce1(vuz20, vuz21, vuz22, vuz23, False, bc) -> :%(new_quot53(vuz20, vuz21, vuz22, vuz23, bc), new_quot54(vuz23, vuz21, vuz20, vuz22, bc)) 176.48/121.98 new_primNegInt1 -> Neg(Zero) 176.48/121.98 new_quot32(vuz360, vuz37000, vuz94, vuz101) -> new_quot33(vuz360, new_primNegInt(vuz37000), vuz94, vuz101, new_primNegInt(vuz37000)) 176.48/121.98 new_quot51(vuz151, vuz152, Succ(vuz1530), Zero, vuz155, vuz156) -> new_quot31(vuz151, vuz152, vuz155, vuz156) 176.48/121.98 new_ps(vuz7, vuz80, ty_Float) -> new_ps0(vuz7, vuz80) 176.48/121.98 new_quot37(vuz360, Neg(Zero), Integer(Neg(Succ(vuz110000))), vuz94, vuz101, vuz109) -> new_quot43(vuz360, vuz94, vuz101) 176.48/121.98 new_absReal16(Pos(Zero), Pos(Zero)) -> new_absReal17 176.48/121.98 new_primQuotInt1(Pos(vuz3600), Neg(Zero)) -> new_error 176.48/121.98 new_primQuotInt1(Neg(vuz3600), Pos(Zero)) -> new_error 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_absReal16(Neg(Zero), Neg(Zero)) -> new_absReal110 176.48/121.98 new_primPlusNat0(Succ(vuz1200), Zero) -> Succ(vuz1200) 176.48/121.98 new_primPlusNat0(Zero, Succ(vuz3000)) -> Succ(vuz3000) 176.48/121.98 new_quot38(vuz187, vuz188, Succ(vuz1890), Zero, vuz191, vuz192) -> new_quot29(vuz187, vuz188, vuz191, vuz192) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.98 new_quot37(vuz360, Pos(Zero), Integer(Pos(Succ(vuz110000))), vuz94, vuz101, vuz109) -> new_quot33(vuz360, new_primNegInt1, vuz94, vuz101, new_primNegInt1) 176.48/121.98 new_quot45(vuz360, False, vuz370, vuz380) -> new_quot46(vuz360, vuz370, Integer(vuz380)) 176.48/121.98 new_quot13(vuz360, False, vuz370, vuz94) -> new_quot27(vuz360, vuz370, vuz94, new_fromInt0) 176.48/121.98 new_quot15(vuz177, vuz178, Zero, Zero) -> new_quot18(vuz177, vuz178) 176.48/121.98 new_quot9(vuz360, vuz62, vuz370) -> new_quot10(vuz360, vuz62, vuz370) 176.48/121.98 new_ps0(Float(vuz90, vuz91), Float(vuz300, vuz301)) -> Float(new_ps3(new_sr(vuz90, vuz301), new_sr(vuz300, vuz91)), new_sr(vuz91, vuz301)) 176.48/121.98 new_ps4(:%(vuz130, vuz131), :%(vuz300, vuz301), bb) -> new_reduce2Reduce1(vuz130, vuz301, vuz300, vuz131, new_esEs1(vuz131, vuz301, bb), bb) 176.48/121.98 new_quot23(vuz360) -> new_quot17(vuz360, Pos(Zero)) 176.48/121.98 new_gcd(vuz31, vuz30) -> new_gcd2(new_esEs(vuz31, new_fromInt), vuz31, vuz30) 176.48/121.98 new_quot49(vuz360, vuz62, vuz370) -> new_quot13(vuz360, new_esEs0(Pos(Zero), vuz62), vuz370, Pos(Zero)) 176.48/121.98 new_quot44(vuz360, False, vuz94, vuz165) -> new_quot33(vuz360, vuz94, vuz165, new_fromInt0, vuz94) 176.48/121.98 new_quot33(vuz360, vuz163, vuz94, vuz101, vuz162) -> new_quot44(vuz360, new_esEs0(new_primRemInt(vuz163, vuz94), vuz101), vuz94, new_primRemInt(vuz163, vuz94)) 176.48/121.98 new_quot46(vuz360, vuz370, vuz38) -> new_quot19(vuz360, vuz38, new_fromInt0, vuz370) 176.48/121.98 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.48/121.98 new_primMinusNat0(Zero, Succ(vuz3000)) -> Neg(Succ(vuz3000)) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Succ(vuz38000))), Integer(Neg(vuz7100)), vuz62, vuz370, vuz70) -> new_quot51(vuz360, vuz38000, vuz7100, Succ(vuz38000), vuz62, vuz370) 176.48/121.98 new_primNegInt2 -> Pos(Zero) 176.48/121.98 new_fromInt0 -> Integer(Pos(Zero)) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Zero)), Integer(Pos(Succ(vuz71000))), vuz62, vuz370, vuz70) -> new_quot13(vuz360, new_esEs0(new_primNegInt2, vuz62), vuz370, new_primNegInt2) 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_quot28(vuz360, Pos(Zero), Integer(Neg(Zero))) -> new_quot24(vuz360) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.98 new_quot41(vuz194, vuz195, Zero, Succ(vuz1970), vuz198, vuz199) -> new_quot32(vuz194, vuz195, vuz198, vuz199) 176.48/121.98 new_primDivNatS01(vuz97, vuz98) -> Succ(new_primDivNatS1(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98))) 176.48/121.98 new_quot22(vuz360, True, vuz370, vuz38) -> new_quot47(vuz360, vuz38, new_fromInt0, vuz370) 176.48/121.98 new_primQuotInt1(Neg(vuz3600), Neg(Zero)) -> new_error 176.48/121.98 new_quot20(vuz360, Integer(Pos(Succ(vuz38000))), Integer(Neg(vuz7100)), vuz62, vuz370, vuz70) -> new_quot12(vuz360, vuz38000, vuz62, vuz370) 176.48/121.98 new_reduce2Reduce1(vuz20, vuz21, vuz22, vuz23, True, bc) -> error([]) 176.48/121.98 new_quot54(vuz23, vuz21, vuz20, vuz22, ty_Int) -> new_quot55(new_sr(vuz23, vuz21), new_ps3(new_sr(vuz20, vuz21), new_sr(vuz22, vuz23)), new_sr(vuz23, vuz21)) 176.48/121.98 new_absReal19(vuz130, Zero, Zero) -> new_absReal111(vuz130) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.98 new_esEs2(Integer(vuz1310), Integer(vuz3010), vuz25) -> new_esEs0(new_primMulInt(vuz1310, vuz3010), vuz25) 176.48/121.98 new_primDivNatS1(Succ(Succ(vuz29000)), Succ(vuz56000)) -> new_primDivNatS02(vuz29000, vuz56000, vuz29000, vuz56000) 176.48/121.98 new_primEqNat0(Zero, Zero) -> True 176.48/121.98 new_primQuotInt(vuz290, Neg(Succ(vuz5600))) -> Neg(new_primDivNatS1(vuz290, vuz5600)) 176.48/121.98 new_absReal14(vuz3000) -> Pos(Succ(vuz3000)) 176.48/121.98 new_quot37(vuz360, Pos(Zero), Integer(Neg(Succ(vuz110000))), vuz94, vuz101, vuz109) -> new_quot40(vuz360, vuz94, vuz101) 176.48/121.98 new_primMulInt(Neg(vuz910), Neg(vuz3010)) -> Pos(new_primMulNat0(vuz910, vuz3010)) 176.48/121.98 new_primQuotInt0(vuz290, Neg(Succ(vuz5900))) -> Pos(new_primDivNatS1(vuz290, vuz5900)) 176.48/121.98 new_quot26(vuz360, vuz37, vuz38) -> new_quot21(vuz360, vuz37, new_fromInt0, vuz38) 176.48/121.98 new_ps3(vuz12, vuz30) -> new_primPlusInt(vuz12, vuz30) 176.48/121.98 new_fromInt -> Pos(Zero) 176.48/121.98 new_quot20(vuz360, Integer(Pos(Zero)), Integer(Neg(Succ(vuz71000))), vuz62, vuz370, vuz70) -> new_quot49(vuz360, vuz62, vuz370) 176.48/121.98 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.98 new_quot20(vuz360, Integer(Pos(Zero)), Integer(Neg(Zero)), vuz62, vuz370, vuz70) -> new_quot48(vuz360, vuz62, vuz370) 176.48/121.98 new_quot17(vuz360, vuz136) -> Integer(new_primQuotInt1(vuz360, vuz136)) 176.48/121.98 new_quot37(vuz360, Neg(Succ(vuz37000)), Integer(Neg(vuz11000)), vuz94, vuz101, vuz109) -> new_quot41(vuz360, vuz37000, vuz11000, Succ(vuz37000), vuz94, vuz101) 176.48/121.98 new_gcd0Gcd'00(vuz69, vuz68) -> new_gcd0Gcd'10(new_esEs(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.98 new_quot28(vuz360, Neg(Succ(vuz37000)), Integer(Pos(vuz10200))) -> new_quot36(vuz360, vuz37000) 176.48/121.98 new_absReal13(vuz3000) -> new_absReal14(vuz3000) 176.48/121.98 new_error -> error([]) 176.48/121.98 new_gcd2(True, vuz31, vuz30) -> new_gcd1(new_esEs(vuz30, new_fromInt), vuz31, vuz30) 176.48/121.98 new_quot21(vuz360, Integer(vuz370), Integer(vuz430), vuz38) -> new_quot22(vuz360, new_primEqInt(vuz370, vuz430), vuz370, vuz38) 176.48/121.98 new_quot15(vuz177, vuz178, Zero, Succ(vuz1800)) -> new_quot17(vuz177, new_primNegInt0(vuz178)) 176.48/121.98 new_quot28(vuz360, Neg(Zero), Integer(Pos(Zero))) -> new_quot7(vuz360) 176.48/121.98 new_absReal16(Neg(Succ(vuz3000)), Neg(vuz720)) -> new_absReal19(vuz3000, vuz720, Succ(vuz3000)) 176.48/121.98 new_quot25(Integer(vuz360), vuz37, vuz23, vuz21) -> new_quot26(vuz360, vuz37, new_sr0(vuz23, vuz21)) 176.48/121.98 new_absReal19(vuz130, Zero, Succ(vuz1320)) -> new_absReal11(vuz130) 176.48/121.98 new_quot11(vuz141, vuz142, Succ(vuz1430), Zero, vuz145, vuz146) -> new_quot12(vuz141, vuz142, vuz145, vuz146) 176.48/121.98 new_primQuotInt0(vuz290, Pos(Zero)) -> new_error 176.48/121.98 new_absReal16(Neg(Zero), Pos(Succ(vuz7200))) -> new_primNegInt2 176.48/121.98 new_primNegInt(vuz3000) -> Pos(Succ(vuz3000)) 176.48/121.98 new_quot37(vuz360, Neg(Zero), Integer(Pos(Succ(vuz110000))), vuz94, vuz101, vuz109) -> new_quot33(vuz360, new_primNegInt2, vuz94, vuz101, new_primNegInt2) 176.48/121.98 new_quot22(vuz360, False, vuz370, vuz38) -> new_quot46(vuz360, vuz370, vuz38) 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_quot20(vuz360, Integer(Neg(Zero)), Integer(Neg(Succ(vuz71000))), vuz62, vuz370, vuz70) -> new_quot10(vuz360, vuz62, vuz370) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_absReal19(x0, Succ(x1), Zero) 176.48/121.98 new_quot41(x0, x1, Succ(x2), Succ(x3), x4, x5) 176.48/121.98 new_quot51(x0, x1, Zero, Succ(x2), x3, x4) 176.48/121.98 new_quot28(x0, Pos(Succ(x1)), Integer(Neg(x2))) 176.48/121.98 new_absReal16(Pos(Zero), Neg(Succ(x0))) 176.48/121.98 new_absReal16(Neg(Zero), Pos(Succ(x0))) 176.48/121.98 new_primQuotInt1(Pos(x0), Pos(Zero)) 176.48/121.98 new_primMulInt(Neg(x0), Neg(x1)) 176.48/121.98 new_absReal16(Pos(Zero), Pos(Succ(x0))) 176.48/121.98 new_quot28(x0, Pos(Succ(x1)), Integer(Pos(x2))) 176.48/121.98 new_ps0(Float(x0, x1), Float(x2, x3)) 176.48/121.98 new_quot28(x0, Neg(Succ(x1)), Integer(Pos(x2))) 176.48/121.98 new_quot28(x0, Neg(Succ(x1)), Integer(Neg(x2))) 176.48/121.98 new_absReal16(Neg(Zero), Neg(Succ(x0))) 176.48/121.98 new_primMinusNat0(Succ(x0), Zero) 176.48/121.98 new_quot40(x0, x1, x2) 176.48/121.98 new_abs(x0) 176.48/121.98 new_primModNatS1(Zero, x0) 176.48/121.98 new_primPlusInt(Pos(x0), Neg(x1)) 176.48/121.98 new_primPlusInt(Neg(x0), Pos(x1)) 176.48/121.98 new_primMulInt(Pos(x0), Neg(x1)) 176.48/121.98 new_primMulInt(Neg(x0), Pos(x1)) 176.48/121.98 new_primPlusNat0(Succ(x0), Zero) 176.48/121.98 new_quot10(x0, x1, x2) 176.48/121.98 new_ps(x0, x1, ty_Int) 176.48/121.98 new_primQuotInt1(Neg(x0), Neg(Zero)) 176.48/121.98 new_primDivNatS1(Succ(Zero), Zero) 176.48/121.98 new_quot53(x0, x1, x2, x3, ty_Int) 176.48/121.98 new_primMulNat0(Zero, Zero) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.98 new_quot25(Integer(x0), x1, x2, x3) 176.48/121.98 new_fromInt 176.48/121.98 new_primEqNat0(Succ(x0), Zero) 176.48/121.98 new_quot12(x0, x1, x2, x3) 176.48/121.98 new_primQuotInt(x0, Neg(Succ(x1))) 176.48/121.98 new_quot20(x0, Integer(Neg(Zero)), Integer(Neg(Zero)), x1, x2, x3) 176.48/121.98 new_quot30(x0, x1, x2, x3) 176.48/121.98 new_quot43(x0, x1, x2) 176.48/121.98 new_absReal19(x0, Zero, Succ(x1)) 176.48/121.98 new_primQuotInt1(Pos(x0), Neg(Zero)) 176.48/121.98 new_primQuotInt1(Neg(x0), Pos(Zero)) 176.48/121.98 new_primPlusInt(Pos(x0), Pos(x1)) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.98 new_primMulInt(Pos(x0), Pos(x1)) 176.48/121.98 new_primMulNat0(Succ(x0), Succ(x1)) 176.48/121.98 new_quot28(x0, Pos(Zero), Integer(Pos(Succ(x1)))) 176.48/121.98 new_primNegInt1 176.48/121.98 new_quot45(x0, False, x1, x2) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.98 new_absReal14(x0) 176.48/121.98 new_primMinusNat0(Zero, Zero) 176.48/121.98 new_quot14(x0, x1, x2, x3) 176.48/121.98 new_primPlusNat0(Zero, Succ(x0)) 176.48/121.98 new_quot11(x0, x1, Zero, Succ(x2), x3, x4) 176.48/121.98 new_quot11(x0, x1, Zero, Zero, x2, x3) 176.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.98 new_esEs2(Integer(x0), Integer(x1), x2) 176.48/121.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 176.48/121.98 new_quot28(x0, Neg(Zero), Integer(Neg(Succ(x1)))) 176.48/121.98 new_primMinusNat0(Zero, Succ(x0)) 176.48/121.98 new_ps(x0, x1, ty_Float) 176.48/121.98 new_absReal18 176.48/121.98 new_error 176.48/121.98 new_quot51(x0, x1, Succ(x2), Zero, x3, x4) 176.48/121.98 new_quot41(x0, x1, Succ(x2), Zero, x3, x4) 176.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.98 new_absReal11(x0) 176.48/121.98 new_gcd2(False, x0, x1) 176.48/121.98 new_quot20(x0, Integer(Neg(Zero)), Integer(Pos(Zero)), x1, x2, x3) 176.48/121.98 new_quot20(x0, Integer(Pos(Zero)), Integer(Neg(Zero)), x1, x2, x3) 176.48/121.98 new_primDivNatS1(Zero, x0) 176.48/121.98 new_absReal15 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.98 new_primPlusNat0(Zero, Zero) 176.48/121.98 new_gcd0(x0, x1) 176.48/121.98 new_quot22(x0, True, x1, x2) 176.48/121.98 new_primPlusNat0(Succ(x0), Succ(x1)) 176.48/121.98 new_absReal12(x0, Succ(x1), Succ(x2)) 176.48/121.98 new_quot23(x0) 176.48/121.98 new_quot51(x0, x1, Succ(x2), Succ(x3), x4, x5) 176.48/121.98 new_quot34(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_gcd0Gcd'10(False, x0, x1) 176.48/121.98 new_quot27(x0, x1, x2, x3) 176.48/121.98 new_quot13(x0, True, x1, x2) 176.48/121.98 new_quot15(x0, x1, Zero, Zero) 176.48/121.98 new_absReal16(Neg(Succ(x0)), Neg(x1)) 176.48/121.98 new_primMulNat0(Succ(x0), Zero) 176.48/121.98 new_absReal16(Pos(Zero), Pos(Zero)) 176.48/121.98 new_quot16(x0, x1) 176.48/121.98 new_quot37(x0, Neg(Succ(x1)), Integer(Pos(x2)), x3, x4, x5) 176.48/121.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.98 new_quot37(x0, Neg(Zero), Integer(Pos(Succ(x1))), x2, x3, x4) 176.48/121.98 new_quot37(x0, Neg(Zero), Integer(Neg(Succ(x1))), x2, x3, x4) 176.48/121.98 new_primMinusNatS1(x0) 176.48/121.98 new_quot24(x0) 176.48/121.98 new_primMinusNatS2 176.48/121.98 new_quot28(x0, Pos(Zero), Integer(Neg(Succ(x1)))) 176.48/121.98 new_rem(x0, x1) 176.48/121.98 new_quot21(x0, Integer(x1), Integer(x2), x3) 176.48/121.98 new_ps4(:%(x0, x1), :%(x2, x3), x4) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.98 new_ps(x0, x1, ty_Double) 176.48/121.98 new_absReal17 176.48/121.98 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.98 new_primQuotInt1(Pos(x0), Neg(Succ(x1))) 176.48/121.98 new_primQuotInt1(Neg(x0), Pos(Succ(x1))) 176.48/121.98 new_primDivNatS02(x0, x1, Succ(x2), Zero) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.98 new_quot46(x0, x1, x2) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.98 new_gcd0Gcd'11(False, x0, x1) 176.48/121.98 new_quot34(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 new_primEqNat0(Zero, Succ(x0)) 176.48/121.98 new_quot22(x0, False, x1, x2) 176.48/121.98 new_quot20(x0, Integer(Pos(Zero)), Integer(Pos(Zero)), x1, x2, x3) 176.48/121.98 new_esEs1(x0, x1, ty_Integer) 176.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.98 new_quot15(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_quot38(x0, x1, Succ(x2), Zero, x3, x4) 176.48/121.98 new_quot17(x0, x1) 176.48/121.98 new_quot48(x0, x1, x2) 176.48/121.98 new_primQuotInt0(x0, Neg(Zero)) 176.48/121.98 new_quot44(x0, True, x1, x2) 176.48/121.98 new_quot37(x0, Neg(Succ(x1)), Integer(Neg(x2)), x3, x4, x5) 176.48/121.98 new_quot38(x0, x1, Succ(x2), Succ(x3), x4, x5) 176.48/121.98 new_quot28(x0, Neg(Zero), Integer(Pos(Succ(x1)))) 176.48/121.98 new_quot37(x0, Pos(Zero), Integer(Pos(Zero)), x1, x2, x3) 176.48/121.98 new_quot20(x0, Integer(Pos(Zero)), Integer(Pos(Succ(x1))), x2, x3, x4) 176.48/121.98 new_quot55(Pos(x0), x1, x2) 176.48/121.98 new_quot54(x0, x1, x2, x3, ty_Int) 176.48/121.98 new_primMinusNat0(Succ(x0), Succ(x1)) 176.48/121.98 new_quot28(x0, Neg(Zero), Integer(Neg(Zero))) 176.48/121.98 new_quot54(x0, x1, x2, x3, ty_Integer) 176.48/121.98 new_absReal12(x0, Zero, Succ(x1)) 176.48/121.98 new_primQuotInt0(x0, Pos(Succ(x1))) 176.48/121.98 new_quot38(x0, x1, Zero, Zero, x2, x3) 176.48/121.98 new_quot29(x0, x1, x2, x3) 176.48/121.98 new_quot28(x0, Pos(Zero), Integer(Neg(Zero))) 176.48/121.98 new_gcd2(True, x0, x1) 176.48/121.98 new_quot39(x0, x1, x2) 176.48/121.98 new_quot28(x0, Neg(Zero), Integer(Pos(Zero))) 176.48/121.98 new_quot8(x0) 176.48/121.98 new_quot49(x0, x1, x2) 176.48/121.98 new_quot20(x0, Integer(Neg(Zero)), Integer(Neg(Succ(x1))), x2, x3, x4) 176.48/121.98 new_fromInt0 176.48/121.98 new_absReal19(x0, Succ(x1), Succ(x2)) 176.48/121.98 new_primQuotInt0(x0, Neg(Succ(x1))) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.98 new_gcd0Gcd'11(True, x0, x1) 176.48/121.98 new_quot52(x0, x1, x2, x3) 176.48/121.98 new_quot28(x0, Pos(Zero), Integer(Pos(Zero))) 176.48/121.98 new_primNegInt(x0) 176.48/121.98 new_quot35(x0, x1) 176.48/121.98 new_quot26(x0, x1, x2) 176.48/121.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 176.48/121.98 new_primQuotInt0(x0, Pos(Zero)) 176.48/121.98 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.98 new_absReal16(Neg(Zero), Neg(Zero)) 176.48/121.98 new_primQuotInt(x0, Neg(Zero)) 176.48/121.98 new_absReal110 176.48/121.98 new_primQuotInt1(Pos(x0), Pos(Succ(x1))) 176.48/121.98 new_absReal16(Neg(Succ(x0)), Pos(x1)) 176.48/121.98 new_absReal16(Pos(Succ(x0)), Neg(x1)) 176.48/121.98 new_quot9(x0, x1, x2) 176.48/121.98 new_primNegInt0(x0) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) 176.48/121.98 new_quot37(x0, Neg(Zero), Integer(Pos(Zero)), x1, x2, x3) 176.48/121.98 new_quot44(x0, False, x1, x2) 176.48/121.98 new_quot37(x0, Pos(Zero), Integer(Neg(Zero)), x1, x2, x3) 176.48/121.98 new_gcd1(True, x0, x1) 176.48/121.98 new_quot37(x0, Pos(Succ(x1)), Integer(Neg(x2)), x3, x4, x5) 176.48/121.98 new_ps(x0, x1, ty_Integer) 176.48/121.98 new_quot20(x0, Integer(Neg(Zero)), Integer(Pos(Succ(x1))), x2, x3, x4) 176.48/121.98 new_quot37(x0, Pos(Zero), Integer(Neg(Succ(x1))), x2, x3, x4) 176.48/121.98 new_quot20(x0, Integer(Pos(Zero)), Integer(Neg(Succ(x1))), x2, x3, x4) 176.48/121.98 new_primDivNatS01(x0, x1) 176.48/121.98 new_quot33(x0, x1, x2, x3, x4) 176.48/121.98 new_ps3(x0, x1) 176.48/121.98 new_quot53(x0, x1, x2, x3, ty_Integer) 176.48/121.98 new_esEs0(x0, Integer(x1)) 176.48/121.98 new_absReal111(x0) 176.48/121.98 new_sr0(Integer(x0), Integer(x1)) 176.48/121.98 new_quot20(x0, Integer(Pos(Succ(x1))), Integer(Pos(x2)), x3, x4, x5) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.98 new_ps2(Integer(x0), Integer(x1)) 176.48/121.98 new_esEs(x0, x1) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.98 new_quot13(x0, False, x1, x2) 176.48/121.98 new_primEqNat0(Zero, Zero) 176.48/121.98 new_quot34(x0, x1, Zero, Zero) 176.48/121.98 new_gcd0Gcd'10(True, x0, x1) 176.48/121.98 new_quot36(x0, x1) 176.48/121.98 new_quot20(x0, Integer(Neg(Succ(x1))), Integer(Pos(x2)), x3, x4, x5) 176.48/121.98 new_quot20(x0, Integer(Pos(Succ(x1))), Integer(Neg(x2)), x3, x4, x5) 176.48/121.98 new_quot15(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_quot55(Neg(x0), x1, x2) 176.48/121.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.98 new_gcd0Gcd'00(x0, x1) 176.48/121.98 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.98 new_primModNatS01(x0, x1) 176.48/121.98 new_quot11(x0, x1, Succ(x2), Succ(x3), x4, x5) 176.48/121.98 new_quot37(x0, Pos(Zero), Integer(Pos(Succ(x1))), x2, x3, x4) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primDivNatS02(x0, x1, Zero, Zero) 176.48/121.98 new_absReal16(Pos(Zero), Neg(Zero)) 176.48/121.98 new_absReal16(Neg(Zero), Pos(Zero)) 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_quot47(x0, Integer(x1), Integer(x2), x3) 176.48/121.98 new_esEs1(x0, x1, ty_Int) 176.48/121.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.98 new_quot15(x0, x1, Succ(x2), Zero) 176.48/121.98 new_quot20(x0, Integer(Neg(Succ(x1))), Integer(Neg(x2)), x3, x4, x5) 176.48/121.98 new_quot19(x0, x1, x2, x3) 176.48/121.98 new_ps(x0, x1, app(ty_Ratio, x2)) 176.48/121.98 new_primQuotInt(x0, Pos(Zero)) 176.48/121.98 new_primMulNat0(Zero, Succ(x0)) 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_sr(x0, x1) 176.48/121.98 new_primQuotInt1(Neg(x0), Neg(Succ(x1))) 176.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.98 new_quot45(x0, True, x1, x2) 176.48/121.98 new_quot50(x0, x1, x2, x3) 176.48/121.98 new_absReal19(x0, Zero, Zero) 176.48/121.98 new_absReal12(x0, Zero, Zero) 176.48/121.98 new_quot34(x0, x1, Succ(x2), Zero) 176.48/121.98 new_primNegInt2 176.48/121.98 new_quot18(x0, x1) 176.48/121.98 new_quot32(x0, x1, x2, x3) 176.48/121.98 new_gcd1(False, x0, x1) 176.48/121.98 new_quot38(x0, x1, Zero, Succ(x2), x3, x4) 176.48/121.98 new_quot31(x0, x1, x2, x3) 176.48/121.98 new_absReal13(x0) 176.48/121.98 new_quot42(x0, x1, x2) 176.48/121.98 new_primQuotInt(x0, Pos(Succ(x1))) 176.48/121.98 new_ps1(Double(x0, x1), Double(x2, x3)) 176.48/121.98 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 176.48/121.98 new_quot37(x0, Pos(Succ(x1)), Integer(Pos(x2)), x3, x4, x5) 176.48/121.98 new_quot7(x0) 176.48/121.98 new_quot41(x0, x1, Zero, Zero, x2, x3) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.98 new_quot41(x0, x1, Zero, Succ(x2), x3, x4) 176.48/121.98 new_gcd(x0, x1) 176.48/121.98 new_primPlusInt(Neg(x0), Neg(x1)) 176.48/121.98 new_quot11(x0, x1, Succ(x2), Zero, x3, x4) 176.48/121.98 new_absReal16(Pos(Succ(x0)), Pos(x1)) 176.48/121.98 new_quot51(x0, x1, Zero, Zero, x2, x3) 176.48/121.98 new_quot37(x0, Neg(Zero), Integer(Neg(Zero)), x1, x2, x3) 176.48/121.98 new_absReal12(x0, Succ(x1), Zero) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (627) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_enforceWHNF(vuz7, :(vuz80, vuz81), h) -> new_enforceWHNF(new_ps(vuz7, vuz80, h), vuz81, h) 176.48/121.98 The graph contains the following edges 2 > 2, 3 >= 3 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (628) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (629) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primMinusNat(Succ(vuz1200), Succ(vuz3000)) -> new_primMinusNat(vuz1200, vuz3000) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (630) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primMinusNat(Succ(vuz1200), Succ(vuz3000)) -> new_primMinusNat(vuz1200, vuz3000) 176.48/121.98 The graph contains the following edges 1 > 1, 2 > 2 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (631) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (632) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_primPlusNat(Succ(vuz1200), Succ(vuz3000)) -> new_primPlusNat(vuz1200, vuz3000) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (633) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_primPlusNat(Succ(vuz1200), Succ(vuz3000)) -> new_primPlusNat(vuz1200, vuz3000) 176.48/121.98 The graph contains the following edges 1 > 1, 2 > 2 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (634) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (635) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_quot0(vuz177, vuz178, Succ(vuz1790), Succ(vuz1800)) -> new_quot0(vuz177, vuz178, vuz1790, vuz1800) 176.48/121.98 176.48/121.98 R is empty. 176.48/121.98 Q is empty. 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (636) QDPSizeChangeProof (EQUIVALENT) 176.48/121.98 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. 176.48/121.98 176.48/121.98 From the DPs we obtained the following set of size-change graphs: 176.48/121.98 *new_quot0(vuz177, vuz178, Succ(vuz1790), Succ(vuz1800)) -> new_quot0(vuz177, vuz178, vuz1790, vuz1800) 176.48/121.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (637) 176.48/121.98 YES 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (638) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.98 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_rem(vuz69, vuz68)) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.98 new_primEqNat0(Zero, Zero) -> True 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_fromInt -> Pos(Zero) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_esEs(vuz27, vuz26) -> new_primEqInt(vuz27, vuz26) 176.48/121.98 new_error -> error([]) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.98 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.98 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 176.48/121.98 The set Q consists of the following terms: 176.48/121.98 176.48/121.98 new_primEqNat0(Zero, Zero) 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.98 new_rem(x0, x1) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.98 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.98 new_primModNatS1(Zero, x0) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.98 new_error 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) 176.48/121.98 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.98 new_primEqNat0(Zero, Succ(x0)) 176.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.98 new_primModNatS01(x0, x1) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.98 new_fromInt 176.48/121.98 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.98 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.98 new_primEqNat0(Succ(x0), Zero) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.98 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.98 new_primMinusNatS0(Zero, Zero) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.98 new_esEs(x0, x1) 176.48/121.98 176.48/121.98 We have to consider all minimal (P,Q,R)-chains. 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (639) TransformationProof (EQUIVALENT) 176.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) at position [0] we obtained the following new rules [LPAR04]: 176.48/121.98 176.48/121.98 (new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69),new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69)) 176.48/121.98 176.48/121.98 176.48/121.98 ---------------------------------------- 176.48/121.98 176.48/121.98 (640) 176.48/121.98 Obligation: 176.48/121.98 Q DP problem: 176.48/121.98 The TRS P consists of the following rules: 176.48/121.98 176.48/121.98 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_rem(vuz69, vuz68)) 176.48/121.98 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.98 176.48/121.98 The TRS R consists of the following rules: 176.48/121.98 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.98 new_primEqNat0(Zero, Zero) -> True 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.98 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_fromInt -> Pos(Zero) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.98 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.98 new_esEs(vuz27, vuz26) -> new_primEqInt(vuz27, vuz26) 176.48/121.98 new_error -> error([]) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.98 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.98 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.98 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.98 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.98 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.98 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.98 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.98 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.98 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.98 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.98 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.98 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.98 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 176.48/121.99 The set Q consists of the following terms: 176.48/121.99 176.48/121.99 new_primEqNat0(Zero, Zero) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.99 new_rem(x0, x1) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.99 new_primModNatS1(Zero, x0) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.99 new_error 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) 176.48/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.99 new_primEqNat0(Zero, Succ(x0)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.99 new_primModNatS01(x0, x1) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.99 new_fromInt 176.48/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.99 new_primEqNat0(Succ(x0), Zero) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.99 new_primMinusNatS0(Zero, Zero) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.99 new_esEs(x0, x1) 176.48/121.99 176.48/121.99 We have to consider all minimal (P,Q,R)-chains. 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (641) UsableRulesProof (EQUIVALENT) 176.48/121.99 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. 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (642) 176.48/121.99 Obligation: 176.48/121.99 Q DP problem: 176.48/121.99 The TRS P consists of the following rules: 176.48/121.99 176.48/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_rem(vuz69, vuz68)) 176.48/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.99 176.48/121.99 The TRS R consists of the following rules: 176.48/121.99 176.48/121.99 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.99 new_fromInt -> Pos(Zero) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqNat0(Zero, Zero) -> True 176.48/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_error -> error([]) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.99 176.48/121.99 The set Q consists of the following terms: 176.48/121.99 176.48/121.99 new_primEqNat0(Zero, Zero) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.99 new_rem(x0, x1) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.99 new_primModNatS1(Zero, x0) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.99 new_error 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) 176.48/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.99 new_primEqNat0(Zero, Succ(x0)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.99 new_primModNatS01(x0, x1) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.99 new_fromInt 176.48/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.99 new_primEqNat0(Succ(x0), Zero) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.99 new_primMinusNatS0(Zero, Zero) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.99 new_esEs(x0, x1) 176.48/121.99 176.48/121.99 We have to consider all minimal (P,Q,R)-chains. 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (643) QReductionProof (EQUIVALENT) 176.48/121.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.48/121.99 176.48/121.99 new_esEs(x0, x1) 176.48/121.99 176.48/121.99 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (644) 176.48/121.99 Obligation: 176.48/121.99 Q DP problem: 176.48/121.99 The TRS P consists of the following rules: 176.48/121.99 176.48/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_rem(vuz69, vuz68)) 176.48/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.99 176.48/121.99 The TRS R consists of the following rules: 176.48/121.99 176.48/121.99 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.99 new_fromInt -> Pos(Zero) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqNat0(Zero, Zero) -> True 176.48/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_error -> error([]) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.99 176.48/121.99 The set Q consists of the following terms: 176.48/121.99 176.48/121.99 new_primEqNat0(Zero, Zero) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.99 new_rem(x0, x1) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.99 new_primModNatS1(Zero, x0) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.99 new_error 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) 176.48/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.99 new_primEqNat0(Zero, Succ(x0)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.99 new_primModNatS01(x0, x1) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.99 new_fromInt 176.48/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.99 new_primEqNat0(Succ(x0), Zero) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.99 new_primMinusNatS0(Zero, Zero) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.99 176.48/121.99 We have to consider all minimal (P,Q,R)-chains. 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (645) TransformationProof (EQUIVALENT) 176.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_rem(vuz69, vuz68)) at position [1] we obtained the following new rules [LPAR04]: 176.48/121.99 176.48/121.99 (new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)),new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68))) 176.48/121.99 176.48/121.99 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (646) 176.48/121.99 Obligation: 176.48/121.99 Q DP problem: 176.48/121.99 The TRS P consists of the following rules: 176.48/121.99 176.48/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.48/121.99 176.48/121.99 The TRS R consists of the following rules: 176.48/121.99 176.48/121.99 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.99 new_fromInt -> Pos(Zero) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqNat0(Zero, Zero) -> True 176.48/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_error -> error([]) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.99 176.48/121.99 The set Q consists of the following terms: 176.48/121.99 176.48/121.99 new_primEqNat0(Zero, Zero) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.99 new_rem(x0, x1) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.48/121.99 new_primModNatS1(Zero, x0) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.48/121.99 new_error 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) 176.48/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.48/121.99 new_primEqNat0(Zero, Succ(x0)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.48/121.99 new_primModNatS01(x0, x1) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.48/121.99 new_fromInt 176.48/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.48/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.48/121.99 new_primEqNat0(Succ(x0), Zero) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.48/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.48/121.99 new_primMinusNatS0(Zero, Zero) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.48/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.48/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.48/121.99 176.48/121.99 We have to consider all minimal (P,Q,R)-chains. 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (647) TransformationProof (EQUIVALENT) 176.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_rem(vuz69, vuz68), new_fromInt), vuz68, vuz69) at position [0,0] we obtained the following new rules [LPAR04]: 176.48/121.99 176.48/121.99 (new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69),new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69)) 176.48/121.99 176.48/121.99 176.48/121.99 ---------------------------------------- 176.48/121.99 176.48/121.99 (648) 176.48/121.99 Obligation: 176.48/121.99 Q DP problem: 176.48/121.99 The TRS P consists of the following rules: 176.48/121.99 176.48/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.48/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.48/121.99 176.48/121.99 The TRS R consists of the following rules: 176.48/121.99 176.48/121.99 new_rem(vuz69, vuz68) -> new_primRemInt(vuz69, vuz68) 176.48/121.99 new_fromInt -> Pos(Zero) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.48/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.48/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.48/121.99 new_primEqNat0(Zero, Zero) -> True 176.48/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.48/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.48/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.48/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.48/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.48/121.99 new_error -> error([]) 176.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.48/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.48/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.48/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.48/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.48/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.48/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.48/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.48/121.99 176.48/121.99 The set Q consists of the following terms: 176.48/121.99 176.48/121.99 new_primEqNat0(Zero, Zero) 176.48/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.48/121.99 new_rem(x0, x1) 176.48/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.48/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.48/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.48/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.48/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_fromInt 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (649) UsableRulesProof (EQUIVALENT) 176.51/121.99 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. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (650) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_fromInt -> Pos(Zero) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqNat0(Zero, Zero) -> True 176.51/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.51/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.51/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primEqNat0(Zero, Zero) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_rem(x0, x1) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_fromInt 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (651) QReductionProof (EQUIVALENT) 176.51/121.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.51/121.99 176.51/121.99 new_rem(x0, x1) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (652) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_fromInt -> Pos(Zero) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqNat0(Zero, Zero) -> True 176.51/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.51/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.51/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primEqNat0(Zero, Zero) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_fromInt 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (653) TransformationProof (EQUIVALENT) 176.51/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), new_fromInt), vuz68, vuz69) at position [0,1] we obtained the following new rules [LPAR04]: 176.51/121.99 176.51/121.99 (new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69),new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69)) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (654) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_fromInt -> Pos(Zero) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Neg(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Succ(vuz2600))) -> new_primEqNat0(vuz2700, vuz2600) 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Neg(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(vuz2600))) -> False 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqNat0(Zero, Zero) -> True 176.51/121.99 new_primEqNat0(Succ(vuz27000), Zero) -> False 176.51/121.99 new_primEqNat0(Zero, Succ(vuz26000)) -> False 176.51/121.99 new_primEqNat0(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat0(vuz27000, vuz26000) 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primEqNat0(Zero, Zero) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_fromInt 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (655) UsableRulesProof (EQUIVALENT) 176.51/121.99 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. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (656) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primEqNat0(Zero, Zero) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_fromInt 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (657) QReductionProof (EQUIVALENT) 176.51/121.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.51/121.99 176.51/121.99 new_primEqNat0(Zero, Zero) 176.51/121.99 new_primEqNat0(Succ(x0), Succ(x1)) 176.51/121.99 new_primEqNat0(Zero, Succ(x0)) 176.51/121.99 new_fromInt 176.51/121.99 new_primEqNat0(Succ(x0), Zero) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (658) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (659) InductionCalculusProof (EQUIVALENT) 176.51/121.99 Note that final constraints are written in bold face. 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 For Pair new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) the following chains were created: 176.51/121.99 *We consider the chain new_gcd0Gcd'1(False, x2, x3) -> new_gcd0Gcd'0(x2, new_primRemInt(x3, x2)), new_gcd0Gcd'0(x4, x5) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x4, x5), Pos(Zero)), x5, x4) which results in the following constraint: 176.51/121.99 176.51/121.99 (1) (new_gcd0Gcd'0(x2, new_primRemInt(x3, x2))=new_gcd0Gcd'0(x4, x5) ==> new_gcd0Gcd'1(False, x2, x3)_>=_new_gcd0Gcd'0(x2, new_primRemInt(x3, x2))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (2) (new_gcd0Gcd'1(False, x2, x3)_>=_new_gcd0Gcd'0(x2, new_primRemInt(x3, x2))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 For Pair new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) the following chains were created: 176.51/121.99 *We consider the chain new_gcd0Gcd'0(x6, x7) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6), new_gcd0Gcd'1(False, x8, x9) -> new_gcd0Gcd'0(x8, new_primRemInt(x9, x8)) which results in the following constraint: 176.51/121.99 176.51/121.99 (1) (new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)=new_gcd0Gcd'1(False, x8, x9) ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (2) (new_primRemInt(x6, x7)=x12 & Pos(Zero)=x13 & new_primEqInt(x12, x13)=False ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x12, x13)=False which results in the following new constraints: 176.51/121.99 176.51/121.99 (3) (False=False & new_primRemInt(x6, x7)=Pos(Succ(x14)) & Pos(Zero)=Pos(Zero) ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 (4) (False=False & new_primRemInt(x6, x7)=Neg(Succ(x16)) & Pos(Zero)=Pos(x15) ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 176.51/121.99 176.51/121.99 (5) (new_primRemInt(x6, x7)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (6) (new_primRemInt(x6, x7)=Neg(Succ(x16)) ==> new_gcd0Gcd'0(x6, x7)_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x6, x7), Pos(Zero)), x7, x6)) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x6, x7)=Pos(Succ(x14)) which results in the following new constraints: 176.51/121.99 176.51/121.99 (7) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x18), Neg(Succ(x17)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x18), Neg(Succ(x17))), Pos(Zero)), Neg(Succ(x17)), Pos(x18))) 176.51/121.99 176.51/121.99 (8) (Pos(new_primModNatS1(x20, x19))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x20), Pos(Succ(x19)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x20), Pos(Succ(x19))), Pos(Zero)), Pos(Succ(x19)), Pos(x20))) 176.51/121.99 176.51/121.99 (9) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x21), Neg(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x21), Neg(Zero)), Pos(Zero)), Neg(Zero), Neg(x21))) 176.51/121.99 176.51/121.99 (10) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x24), Pos(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x24), Pos(Zero)), Pos(Zero)), Pos(Zero), Pos(x24))) 176.51/121.99 176.51/121.99 (11) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x27), Neg(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x27), Neg(Zero)), Pos(Zero)), Neg(Zero), Pos(x27))) 176.51/121.99 176.51/121.99 (12) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x28), Pos(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x28), Pos(Zero)), Pos(Zero)), Pos(Zero), Neg(x28))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 176.51/121.99 176.51/121.99 (13) (new_primModNatS1(x18, x17)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x18), Neg(Succ(x17)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x18), Neg(Succ(x17))), Pos(Zero)), Neg(Succ(x17)), Pos(x18))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 176.51/121.99 176.51/121.99 (14) (new_primModNatS1(x20, x19)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x20), Pos(Succ(x19)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x20), Pos(Succ(x19))), Pos(Zero)), Pos(Succ(x19)), Pos(x20))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 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(x18, x17)=Succ(x14) which results in the following new constraints: 176.51/121.99 176.51/121.99 (15) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x29))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x29)))), Pos(Zero)), Neg(Succ(Succ(x29))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 (16) (new_primModNatS1(new_primMinusNatS0(Succ(x31), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x31))))) 176.51/121.99 176.51/121.99 (17) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 (18) (new_primModNatS02(x33, x32, x33, x32)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x33))), Neg(Succ(Succ(x32))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x33))), Neg(Succ(Succ(x32)))), Pos(Zero)), Neg(Succ(Succ(x32))), Pos(Succ(Succ(x33))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (19) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x29))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x29)))), Pos(Zero)), Neg(Succ(Succ(x29))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x31))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (21) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))), Pos(Zero)), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x19)=Succ(x14) which results in the following new constraints: 176.51/121.99 176.51/121.99 (23) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))), Pos(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 (24) (new_primModNatS1(new_primMinusNatS0(Succ(x46), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))) 176.51/121.99 176.51/121.99 (25) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 (26) (new_primModNatS02(x48, x47, x48, x47)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47)))), Pos(Zero)), Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (27) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))), Pos(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (28) (new_gcd0Gcd'0(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (29) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (30) (new_gcd0Gcd'0(Pos(Succ(Succ(x57))), Pos(Succ(Succ(x58))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x57))), Pos(Succ(Succ(x58)))), Pos(Zero)), Pos(Succ(Succ(x58))), Pos(Succ(Succ(x57))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x6, x7)=Neg(Succ(x16)) which results in the following new constraints: 176.51/121.99 176.51/121.99 (31) (new_error=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Neg(x63), Neg(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x63), Neg(Zero)), Pos(Zero)), Neg(Zero), Neg(x63))) 176.51/121.99 176.51/121.99 (32) (Neg(new_primModNatS1(x65, x64))=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Neg(x65), Pos(Succ(x64)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x65), Pos(Succ(x64))), Pos(Zero)), Pos(Succ(x64)), Neg(x65))) 176.51/121.99 176.51/121.99 (33) (new_error=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Pos(x66), Pos(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x66), Pos(Zero)), Pos(Zero)), Pos(Zero), Pos(x66))) 176.51/121.99 176.51/121.99 (34) (Neg(new_primModNatS1(x68, x67))=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Neg(x68), Neg(Succ(x67)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x68), Neg(Succ(x67))), Pos(Zero)), Neg(Succ(x67)), Neg(x68))) 176.51/121.99 176.51/121.99 (35) (new_error=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Pos(x69), Neg(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(x69), Neg(Zero)), Pos(Zero)), Neg(Zero), Pos(x69))) 176.51/121.99 176.51/121.99 (36) (new_error=Neg(Succ(x16)) ==> new_gcd0Gcd'0(Neg(x70), Pos(Zero))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x70), Pos(Zero)), Pos(Zero)), Pos(Zero), Neg(x70))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 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: 176.51/121.99 176.51/121.99 (37) (new_primModNatS1(x65, x64)=Succ(x16) ==> new_gcd0Gcd'0(Neg(x65), Pos(Succ(x64)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x65), Pos(Succ(x64))), Pos(Zero)), Pos(Succ(x64)), Neg(x65))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 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: 176.51/121.99 176.51/121.99 (38) (new_primModNatS1(x68, x67)=Succ(x16) ==> new_gcd0Gcd'0(Neg(x68), Neg(Succ(x67)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(x68), Neg(Succ(x67))), Pos(Zero)), Neg(Succ(x67)), Neg(x68))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 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(x65, x64)=Succ(x16) which results in the following new constraints: 176.51/121.99 176.51/121.99 (39) (Succ(Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x71)))), Pos(Zero)), Pos(Succ(Succ(x71))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 (40) (new_primModNatS1(new_primMinusNatS0(Succ(x73), Zero), Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x73))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x73))))) 176.51/121.99 176.51/121.99 (41) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 (42) (new_primModNatS02(x75, x74, x75, x74)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x75))), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x75))), Pos(Succ(Succ(x74)))), Pos(Zero)), Pos(Succ(Succ(x74))), Neg(Succ(Succ(x75))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (43) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x71)))), Pos(Zero)), Pos(Succ(Succ(x71))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (44) (new_gcd0Gcd'0(Neg(Succ(Succ(x73))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x73))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (45) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (46) (new_gcd0Gcd'0(Neg(Succ(Succ(x84))), Pos(Succ(Succ(x85))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x84))), Pos(Succ(Succ(x85)))), Pos(Zero)), Pos(Succ(Succ(x85))), Neg(Succ(Succ(x84))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x68, x67)=Succ(x16) which results in the following new constraints: 176.51/121.99 176.51/121.99 (47) (Succ(Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x86)))), Pos(Zero)), Neg(Succ(Succ(x86))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 (48) (new_primModNatS1(new_primMinusNatS0(Succ(x88), Zero), Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x88))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x88))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x88))))) 176.51/121.99 176.51/121.99 (49) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 (50) (new_primModNatS02(x90, x89, x90, x89)=Succ(x16) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89)))), Pos(Zero)), Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 176.51/121.99 176.51/121.99 (51) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x86)))), Pos(Zero)), Neg(Succ(Succ(x86))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (52) (new_gcd0Gcd'0(Neg(Succ(Succ(x88))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x88))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x88))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (53) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 176.51/121.99 176.51/121.99 (54) (new_gcd0Gcd'0(Neg(Succ(Succ(x99))), Neg(Succ(Succ(x100))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x99))), Neg(Succ(Succ(x100)))), Pos(Zero)), Neg(Succ(Succ(x100))), Neg(Succ(Succ(x99))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 To summarize, we get the following constraints P__>=_ for the following pairs. 176.51/121.99 176.51/121.99 *new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'1(False, x2, x3)_>=_new_gcd0Gcd'0(x2, new_primRemInt(x3, x2))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 *new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x29))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x29)))), Pos(Zero)), Neg(Succ(Succ(x29))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))), Pos(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x71)))), Pos(Zero)), Pos(Succ(Succ(x71))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x86)))), Pos(Zero)), Neg(Succ(Succ(x86))), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x31))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))), Pos(Zero)), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Pos(Succ(Succ(x57))), Pos(Succ(Succ(x58))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Pos(Succ(Succ(x57))), Pos(Succ(Succ(x58)))), Pos(Zero)), Pos(Succ(Succ(x58))), Pos(Succ(Succ(x57))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Succ(x73))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x73))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Succ(x84))), Pos(Succ(Succ(x85))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x84))), Pos(Succ(Succ(x85)))), Pos(Zero)), Pos(Succ(Succ(x85))), Neg(Succ(Succ(x84))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Succ(x88))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x88))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x88))))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))) 176.51/121.99 176.51/121.99 176.51/121.99 *(new_gcd0Gcd'0(Neg(Succ(Succ(x99))), Neg(Succ(Succ(x100))))_>=_new_gcd0Gcd'1(new_primEqInt(new_primRemInt(Neg(Succ(Succ(x99))), Neg(Succ(Succ(x100)))), Pos(Zero)), Neg(Succ(Succ(x100))), Neg(Succ(Succ(x99))))) 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 176.51/121.99 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. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (660) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (661) TransformationProof (EQUIVALENT) 176.51/121.99 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz69, vuz68) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(vuz69, vuz68), Pos(Zero)), vuz68, vuz69) at position [0] we obtained the following new rules [LPAR04]: 176.51/121.99 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0))) 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0))) 176.51/121.99 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Neg(x0))) 176.51/121.99 (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0))) 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0))) 176.51/121.99 (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0))) 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0))) 176.51/121.99 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0))) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (662) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (663) TransformationProof (EQUIVALENT) 176.51/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 176.51/121.99 176.51/121.99 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Neg(x0))) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (664) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Neg(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (665) DependencyGraphProof (EQUIVALENT) 176.51/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (666) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (667) TransformationProof (EQUIVALENT) 176.51/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 176.51/121.99 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Pos(x0))) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (668) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Pos(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (669) DependencyGraphProof (EQUIVALENT) 176.51/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (670) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/121.99 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/121.99 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/121.99 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/121.99 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/121.99 176.51/121.99 The set Q consists of the following terms: 176.51/121.99 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/121.99 new_primModNatS1(Zero, x0) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/121.99 new_error 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) 176.51/121.99 new_primMinusNatS0(Zero, Succ(x0)) 176.51/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/121.99 new_primModNatS01(x0, x1) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/121.99 new_primMinusNatS0(Succ(x0), Zero) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/121.99 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/121.99 new_primMinusNatS0(Zero, Zero) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/121.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/121.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/121.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/121.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/121.99 176.51/121.99 We have to consider all minimal (P,Q,R)-chains. 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (671) TransformationProof (EQUIVALENT) 176.51/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 176.51/121.99 176.51/121.99 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Pos(x0))) 176.51/121.99 176.51/121.99 176.51/121.99 ---------------------------------------- 176.51/121.99 176.51/121.99 (672) 176.51/121.99 Obligation: 176.51/121.99 Q DP problem: 176.51/121.99 The TRS P consists of the following rules: 176.51/121.99 176.51/121.99 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/121.99 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Neg(Zero), Pos(x0)) 176.51/121.99 176.51/121.99 The TRS R consists of the following rules: 176.51/121.99 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/121.99 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/121.99 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/121.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/121.99 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/121.99 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/121.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/121.99 new_error -> error([]) 176.51/121.99 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/121.99 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/121.99 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (673) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (674) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/122.00 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_error -> error([]) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (675) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(new_error, Pos(Zero)), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Neg(x0))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (676) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_primEqInt(error([]), Pos(Zero)), Pos(Zero), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/122.00 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_error -> error([]) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (677) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (678) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/122.00 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_error -> error([]) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (679) TransformationProof (EQUIVALENT) 176.51/122.00 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz68, vuz69) -> new_gcd0Gcd'0(vuz68, new_primRemInt(vuz69, vuz68)) at position [1] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 (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)))) 176.51/122.00 (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)) 176.51/122.00 (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)))) 176.51/122.00 (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)) 176.51/122.00 (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)))) 176.51/122.00 (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)) 176.51/122.00 (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)) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (680) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 176.51/122.00 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 176.51/122.00 new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/122.00 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_error -> error([]) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (681) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (682) 176.51/122.00 Complex Obligation (AND) 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (683) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.51/122.00 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.51/122.00 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.51/122.00 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_error -> error([]) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (684) UsableRulesProof (EQUIVALENT) 176.51/122.00 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. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (685) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_error 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (686) QReductionProof (EQUIVALENT) 176.51/122.00 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.51/122.00 176.51/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.51/122.00 new_error 176.51/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.51/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 176.51/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (687) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (688) TransformationProof (EQUIVALENT) 176.51/122.00 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]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 (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))) 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(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_primModNatS02(x0, x1, x0, x1)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (689) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (690) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (691) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (692) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (693) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (694) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (695) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (696) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (697) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (698) TransformationProof (EQUIVALENT) 176.51/122.00 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 176.51/122.00 (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(Zero))) 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))) 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (699) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (700) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (701) 176.51/122.00 Complex Obligation (AND) 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (702) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.00 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (703) UsableRulesProof (EQUIVALENT) 176.51/122.00 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. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (704) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (705) QReductionProof (EQUIVALENT) 176.51/122.00 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.51/122.00 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.00 new_primModNatS01(x0, x1) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (706) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (707) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (708) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (709) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (710) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (711) TransformationProof (EQUIVALENT) 176.51/122.00 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]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (712) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (713) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (714) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (715) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (716) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (717) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (718) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (719) TransformationProof (EQUIVALENT) 176.51/122.00 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (720) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (721) DependencyGraphProof (EQUIVALENT) 176.51/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (722) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (723) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (724) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (725) TransformationProof (EQUIVALENT) 176.51/122.00 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]: 176.51/122.00 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.51/122.00 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (726) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (727) TransformationProof (EQUIVALENT) 176.51/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.00 176.51/122.00 (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)))) 176.51/122.00 176.51/122.00 176.51/122.00 ---------------------------------------- 176.51/122.00 176.51/122.00 (728) 176.51/122.00 Obligation: 176.51/122.00 Q DP problem: 176.51/122.00 The TRS P consists of the following rules: 176.51/122.00 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.00 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.00 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.51/122.00 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))) 176.51/122.00 176.51/122.00 The TRS R consists of the following rules: 176.51/122.00 176.51/122.00 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.00 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.00 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.00 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.00 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.00 176.51/122.00 The set Q consists of the following terms: 176.51/122.00 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.00 new_primModNatS1(Zero, x0) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.00 new_primModNatS1(Succ(Zero), Zero) 176.51/122.00 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.00 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.00 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.00 new_primMinusNatS0(Zero, Zero) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.00 176.51/122.00 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (729) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (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)))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (730) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.01 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))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (731) DependencyGraphProof (EQUIVALENT) 176.51/122.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (732) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.51/122.01 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))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (733) TransformationProof (EQUIVALENT) 176.51/122.01 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (734) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 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))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (735) DependencyGraphProof (EQUIVALENT) 176.51/122.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (736) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.01 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))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (737) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (738) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 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))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (739) QDPSizeChangeProof (EQUIVALENT) 176.51/122.01 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.51/122.01 176.51/122.01 Order:Polynomial interpretation [POLO]: 176.51/122.01 176.51/122.01 POL(False) = 1 176.51/122.01 POL(Neg(x_1)) = x_1 176.51/122.01 POL(Succ(x_1)) = 1 + x_1 176.51/122.01 POL(Zero) = 1 176.51/122.01 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.51/122.01 POL(new_primModNatS1(x_1, x_2)) = x_1 176.51/122.01 176.51/122.01 176.51/122.01 176.51/122.01 176.51/122.01 From the DPs we obtained the following set of size-change graphs: 176.51/122.01 *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}) 176.51/122.01 The graph contains the following edges 2 >= 2, 1 >= 3 176.51/122.01 176.51/122.01 176.51/122.01 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 176.51/122.01 The graph contains the following edges 2 >= 2, 1 >= 3 176.51/122.01 176.51/122.01 176.51/122.01 *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}) 176.51/122.01 The graph contains the following edges 2 >= 1, 3 >= 2 176.51/122.01 176.51/122.01 176.51/122.01 *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}) 176.51/122.01 The graph contains the following edges 2 >= 1, 3 > 2 176.51/122.01 176.51/122.01 176.51/122.01 176.51/122.01 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.51/122.01 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (740) 176.51/122.01 YES 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (741) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (742) UsableRulesProof (EQUIVALENT) 176.51/122.01 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. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (743) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (744) TransformationProof (EQUIVALENT) 176.51/122.01 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(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_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (745) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (746) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (747) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (748) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (749) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (750) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (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))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (751) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 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)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (752) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (753) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (754) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (755) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (756) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (757) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (758) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (759) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (760) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (761) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (762) DependencyGraphProof (EQUIVALENT) 176.51/122.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (763) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (764) TransformationProof (EQUIVALENT) 176.51/122.01 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (765) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (766) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (767) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (768) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (769) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (770) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (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)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (771) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 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))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (772) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (773) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (774) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (775) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (776) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (777) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (778) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (779) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (780) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (781) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (782) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (783) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.01 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.01 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.01 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.01 176.51/122.01 The set Q consists of the following terms: 176.51/122.01 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.01 new_primModNatS1(Zero, x0) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.01 new_primModNatS1(Succ(Zero), Zero) 176.51/122.01 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.01 new_primModNatS01(x0, x1) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.01 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.01 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.01 new_primMinusNatS0(Zero, Zero) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.01 176.51/122.01 We have to consider all minimal (P,Q,R)-chains. 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (784) TransformationProof (EQUIVALENT) 176.51/122.01 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.51/122.01 176.51/122.01 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(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_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.01 176.51/122.01 176.51/122.01 ---------------------------------------- 176.51/122.01 176.51/122.01 (785) 176.51/122.01 Obligation: 176.51/122.01 Q DP problem: 176.51/122.01 The TRS P consists of the following rules: 176.51/122.01 176.51/122.01 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.01 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)))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 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))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.01 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.01 176.51/122.01 The TRS R consists of the following rules: 176.51/122.01 176.51/122.01 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.01 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.01 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (786) DependencyGraphProof (EQUIVALENT) 176.51/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (787) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (788) TransformationProof (EQUIVALENT) 176.51/122.02 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_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(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_primModNatS01(Succ(x2), Zero)))) 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) 176.51/122.02 (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))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (789) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 176.51/122.02 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)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (790) DependencyGraphProof (EQUIVALENT) 176.51/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (791) 176.51/122.02 Complex Obligation (AND) 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (792) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.51/122.02 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)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (793) TransformationProof (EQUIVALENT) 176.51/122.02 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_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (794) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (795) TransformationProof (EQUIVALENT) 176.51/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (796) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (797) TransformationProof (EQUIVALENT) 176.51/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (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))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (798) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (799) TransformationProof (EQUIVALENT) 176.51/122.02 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(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_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.51/122.02 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(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_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (800) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (801) TransformationProof (EQUIVALENT) 176.51/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (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)))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (802) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.02 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))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (803) TransformationProof (EQUIVALENT) 176.51/122.02 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]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(x0, Zero, x0, Zero)))) 176.51/122.02 (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)))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (804) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (805) DependencyGraphProof (EQUIVALENT) 176.51/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (806) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (807) QDPOrderProof (EQUIVALENT) 176.51/122.02 We use the reduction pair processor [LPAR04,JAR06]. 176.51/122.02 176.51/122.02 176.51/122.02 The following pairs can be oriented strictly and are deleted. 176.51/122.02 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.51/122.02 The remaining pairs can at least be oriented weakly. 176.51/122.02 Used ordering: Polynomial interpretation [POLO]: 176.51/122.02 176.51/122.02 POL(False) = 0 176.51/122.02 POL(Neg(x_1)) = x_1 176.51/122.02 POL(Pos(x_1)) = 0 176.51/122.02 POL(Succ(x_1)) = 1 + x_1 176.51/122.02 POL(True) = 3 176.51/122.02 POL(Zero) = 3 176.51/122.02 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 176.51/122.02 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 176.51/122.02 POL(new_primEqInt(x_1, x_2)) = 0 176.51/122.02 POL(new_primMinusNatS0(x_1, x_2)) = 1 + x_1 176.51/122.02 POL(new_primModNatS01(x_1, x_2)) = 2 + x_1 176.51/122.02 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 176.51/122.02 POL(new_primModNatS1(x_1, x_2)) = x_1 176.51/122.02 176.51/122.02 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (808) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.51/122.02 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)))) 176.51/122.02 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)))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (809) DependencyGraphProof (EQUIVALENT) 176.51/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (810) 176.51/122.02 TRUE 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (811) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (812) TransformationProof (EQUIVALENT) 176.51/122.02 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_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.51/122.02 (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(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_primModNatS01(Succ(Zero), Succ(Zero))))) 176.51/122.02 (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)))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (813) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.51/122.02 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 176.51/122.02 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))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (814) DependencyGraphProof (EQUIVALENT) 176.51/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (815) 176.51/122.02 Complex Obligation (AND) 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (816) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.51/122.02 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))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (817) TransformationProof (EQUIVALENT) 176.51/122.02 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (818) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.51/122.02 new_primMinusNatS0(Zero, Zero) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.51/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.51/122.02 176.51/122.02 We have to consider all minimal (P,Q,R)-chains. 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (819) TransformationProof (EQUIVALENT) 176.51/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.51/122.02 176.51/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.51/122.02 176.51/122.02 176.51/122.02 ---------------------------------------- 176.51/122.02 176.51/122.02 (820) 176.51/122.02 Obligation: 176.51/122.02 Q DP problem: 176.51/122.02 The TRS P consists of the following rules: 176.51/122.02 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.51/122.02 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))))) 176.51/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.51/122.02 176.51/122.02 The TRS R consists of the following rules: 176.51/122.02 176.51/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.51/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.51/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.51/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.51/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.51/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.51/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.51/122.02 176.51/122.02 The set Q consists of the following terms: 176.51/122.02 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.51/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.51/122.02 new_primModNatS1(Zero, x0) 176.51/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.51/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.51/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.51/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.51/122.02 new_primModNatS1(Succ(Zero), Zero) 176.51/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.51/122.02 new_primModNatS01(x0, x1) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.51/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.51/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.51/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.51/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.51/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (821) TransformationProof (EQUIVALENT) 176.54/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.02 176.54/122.02 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.54/122.02 176.54/122.02 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (822) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 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))))) 176.54/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 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))))) 176.54/122.02 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (823) TransformationProof (EQUIVALENT) 176.54/122.02 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.02 176.54/122.02 (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)))))) 176.54/122.02 176.54/122.02 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (824) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 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))))) 176.54/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 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))))) 176.54/122.02 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))))) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (825) QDPOrderProof (EQUIVALENT) 176.54/122.02 We use the reduction pair processor [LPAR04,JAR06]. 176.54/122.02 176.54/122.02 176.54/122.02 The following pairs can be oriented strictly and are deleted. 176.54/122.02 176.54/122.02 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))))) 176.54/122.02 The remaining pairs can at least be oriented weakly. 176.54/122.02 Used ordering: Polynomial interpretation [POLO]: 176.54/122.02 176.54/122.02 POL(False) = 0 176.54/122.02 POL(Neg(x_1)) = 2*x_1 176.54/122.02 POL(Pos(x_1)) = 0 176.54/122.02 POL(Succ(x_1)) = 1 + x_1 176.54/122.02 POL(True) = 3 176.54/122.02 POL(Zero) = 0 176.54/122.02 POL(new_gcd0Gcd'0(x_1, x_2)) = x_1 + x_2 176.54/122.02 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 176.54/122.02 POL(new_primEqInt(x_1, x_2)) = 0 176.54/122.02 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.02 POL(new_primModNatS01(x_1, x_2)) = 2 + x_1 176.54/122.02 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 176.54/122.02 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.02 176.54/122.02 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 176.54/122.02 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (826) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 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))))) 176.54/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 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))))) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (827) DependencyGraphProof (EQUIVALENT) 176.54/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (828) 176.54/122.02 TRUE 176.54/122.02 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (829) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (830) InductionCalculusProof (EQUIVALENT) 176.54/122.02 Note that final constraints are written in bold face. 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.54/122.02 *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_primModNatS02(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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 176.54/122.02 176.54/122.02 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.02 176.54/122.02 (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.02 176.54/122.02 (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x17))))), Neg(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x17))))), Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) 176.54/122.02 176.54/122.02 (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.02 176.54/122.02 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.02 176.54/122.02 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (4) using rule (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.02 176.54/122.02 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.02 176.54/122.02 (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.02 176.54/122.02 (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.02 176.54/122.02 (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> 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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.02 176.54/122.02 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (18) (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (20) (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 176.54/122.02 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), 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_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 176.54/122.02 176.54/122.02 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (2) (Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & Pos(Zero)=x53 & new_primEqInt(x52, x53)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52, x53)=False which results in the following new constraint: 176.54/122.02 176.54/122.02 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x55)) & Pos(Zero)=Pos(x54) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (4) (Succ(Succ(x6))=x56 & Succ(Succ(x7))=x57 & new_primModNatS02(x56, x57, x6, x7)=Succ(x55) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x56, x57, x6, x7)=Succ(x55) which results in the following new constraints: 176.54/122.02 176.54/122.02 (5) (new_primModNatS01(x60, x59)=Succ(x55) & Succ(Succ(Succ(x58)))=x60 & Succ(Succ(Zero))=x59 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) 176.54/122.02 176.54/122.02 (6) (new_primModNatS02(x64, x63, x62, x61)=Succ(x55) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Succ(x61)))=x63 & (\/x65:new_primModNatS02(x64, x63, x62, x61)=Succ(x65) & Succ(Succ(x62))=x64 & Succ(Succ(x61))=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x62)), Succ(Succ(x61)), x62, x61)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x62))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Succ(x61))), Succ(x62), Succ(x61))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 176.54/122.02 176.54/122.02 (7) (new_primModNatS01(x67, x66)=Succ(x55) & Succ(Succ(Zero))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 (8) (Succ(Succ(x70))=Succ(x55) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x60, x59)=Succ(x55) which results in the following new constraint: 176.54/122.02 176.54/122.02 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x72), Succ(x71)), Succ(x71))=Succ(x55) & Succ(Succ(Succ(x58)))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (6) using rule (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (10) (new_primModNatS02(x64, x63, x62, x61)=Succ(x55) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Succ(x61)))=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Succ(x61))), Succ(x62), Succ(x61))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x67, x66)=Succ(x55) which results in the following new constraint: 176.54/122.02 176.54/122.02 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x91), Succ(x90)), Succ(x90))=Succ(x55) & Succ(Succ(Zero))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x64, x63, x62, x61)=Succ(x55) which results in the following new constraints: 176.54/122.02 176.54/122.02 (14) (new_primModNatS01(x79, x78)=Succ(x55) & Succ(Succ(Succ(Succ(x77))))=x79 & Succ(Succ(Succ(Zero)))=x78 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) 176.54/122.02 176.54/122.02 (15) (new_primModNatS02(x83, x82, x81, x80)=Succ(x55) & Succ(Succ(Succ(Succ(x81))))=x83 & Succ(Succ(Succ(Succ(x80))))=x82 & (\/x84:new_primModNatS02(x83, x82, x81, x80)=Succ(x84) & Succ(Succ(Succ(x81)))=x83 & Succ(Succ(Succ(x80)))=x82 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x81)))))), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x81))), Succ(Succ(Succ(x80))), Succ(x81), Succ(x80))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))), Neg(Succ(Succ(Succ(Succ(Succ(x81)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) 176.54/122.02 176.54/122.02 (16) (new_primModNatS01(x86, x85)=Succ(x55) & Succ(Succ(Succ(Zero)))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 (17) (Succ(Succ(x89))=Succ(x55) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.02 176.54/122.02 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.02 176.54/122.02 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.02 176.54/122.02 *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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.02 176.54/122.02 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.02 176.54/122.02 176.54/122.02 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 176.54/122.02 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. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (831) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.02 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.02 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.02 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.02 new_primMinusNatS0(Zero, Zero) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.02 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.02 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.02 176.54/122.02 We have to consider all minimal (P,Q,R)-chains. 176.54/122.02 ---------------------------------------- 176.54/122.02 176.54/122.02 (832) 176.54/122.02 Obligation: 176.54/122.02 Q DP problem: 176.54/122.02 The TRS P consists of the following rules: 176.54/122.02 176.54/122.02 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.02 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.02 176.54/122.02 The TRS R consists of the following rules: 176.54/122.02 176.54/122.02 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.54/122.02 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.54/122.02 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.54/122.02 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.54/122.02 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.54/122.02 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.54/122.02 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.54/122.02 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.02 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.02 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.02 new_error -> error([]) 176.54/122.02 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.02 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.02 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.02 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.02 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.02 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.02 176.54/122.02 The set Q consists of the following terms: 176.54/122.02 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.02 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.02 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.02 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.02 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.02 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.02 new_primModNatS1(Zero, x0) 176.54/122.02 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.02 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.02 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.02 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.02 new_error 176.54/122.02 new_primModNatS1(Succ(Zero), Zero) 176.54/122.02 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.02 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.02 new_primModNatS01(x0, x1) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.02 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.02 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.03 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (833) UsableRulesProof (EQUIVALENT) 176.54/122.03 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. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (834) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.03 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.03 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.03 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_error 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.03 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (835) QReductionProof (EQUIVALENT) 176.54/122.03 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.54/122.03 176.54/122.03 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.03 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.03 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.03 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.03 new_error 176.54/122.03 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.03 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.03 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.03 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (836) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (837) TransformationProof (EQUIVALENT) 176.54/122.03 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]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 (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))) 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(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_primModNatS02(x0, x1, x0, x1)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (838) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (839) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (840) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (841) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (842) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (843) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (844) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (845) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (846) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (847) TransformationProof (EQUIVALENT) 176.54/122.03 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (848) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (849) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (850) 176.54/122.03 Complex Obligation (AND) 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (851) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (852) UsableRulesProof (EQUIVALENT) 176.54/122.03 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. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (853) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (854) QReductionProof (EQUIVALENT) 176.54/122.03 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (855) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (856) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (857) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (858) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (859) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (860) TransformationProof (EQUIVALENT) 176.54/122.03 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]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (861) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (862) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (863) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (864) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (865) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (866) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (867) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (868) TransformationProof (EQUIVALENT) 176.54/122.03 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (869) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (870) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (871) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (872) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (873) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (874) TransformationProof (EQUIVALENT) 176.54/122.03 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]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.03 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (875) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (876) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (877) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.03 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))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (878) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (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)))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (879) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 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))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (880) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (881) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.03 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))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (882) TransformationProof (EQUIVALENT) 176.54/122.03 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (883) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 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))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (884) DependencyGraphProof (EQUIVALENT) 176.54/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (885) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.03 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))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (886) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (887) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 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))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (888) QDPSizeChangeProof (EQUIVALENT) 176.54/122.03 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.54/122.03 176.54/122.03 Order:Polynomial interpretation [POLO]: 176.54/122.03 176.54/122.03 POL(False) = 1 176.54/122.03 POL(Pos(x_1)) = x_1 176.54/122.03 POL(Succ(x_1)) = 1 + x_1 176.54/122.03 POL(Zero) = 1 176.54/122.03 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.03 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.03 176.54/122.03 176.54/122.03 176.54/122.03 176.54/122.03 From the DPs we obtained the following set of size-change graphs: 176.54/122.03 *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}) 176.54/122.03 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.03 176.54/122.03 176.54/122.03 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 176.54/122.03 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.03 176.54/122.03 176.54/122.03 *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}) 176.54/122.03 The graph contains the following edges 2 >= 1, 3 >= 2 176.54/122.03 176.54/122.03 176.54/122.03 *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}) 176.54/122.03 The graph contains the following edges 2 >= 1, 3 > 2 176.54/122.03 176.54/122.03 176.54/122.03 176.54/122.03 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.54/122.03 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (889) 176.54/122.03 YES 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (890) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (891) UsableRulesProof (EQUIVALENT) 176.54/122.03 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. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (892) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (893) TransformationProof (EQUIVALENT) 176.54/122.03 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.03 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(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_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), 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_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.03 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(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_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 176.54/122.03 176.54/122.03 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (894) 176.54/122.03 Obligation: 176.54/122.03 Q DP problem: 176.54/122.03 The TRS P consists of the following rules: 176.54/122.03 176.54/122.03 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.03 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.03 176.54/122.03 The TRS R consists of the following rules: 176.54/122.03 176.54/122.03 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.03 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.03 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.03 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.03 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.03 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.03 176.54/122.03 The set Q consists of the following terms: 176.54/122.03 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.03 new_primModNatS1(Zero, x0) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.03 new_primModNatS1(Succ(Zero), Zero) 176.54/122.03 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.03 new_primModNatS01(x0, x1) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.03 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.03 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.03 new_primMinusNatS0(Zero, Zero) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.03 176.54/122.03 We have to consider all minimal (P,Q,R)-chains. 176.54/122.03 ---------------------------------------- 176.54/122.03 176.54/122.03 (895) TransformationProof (EQUIVALENT) 176.54/122.03 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (896) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (897) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), 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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (898) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (899) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (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))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (900) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 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)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (901) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (902) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (903) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), 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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (904) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (905) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (906) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (907) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), 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_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (908) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (909) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), 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_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (910) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (911) DependencyGraphProof (EQUIVALENT) 176.54/122.04 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (912) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (913) TransformationProof (EQUIVALENT) 176.54/122.04 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), 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_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (914) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (915) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (916) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (917) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), 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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (918) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (919) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (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)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (920) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 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))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (921) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (922) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (923) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), 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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (924) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (925) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (926) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (927) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), 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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (928) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (929) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (930) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (931) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), 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_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (932) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (933) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), 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_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (934) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (935) DependencyGraphProof (EQUIVALENT) 176.54/122.04 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (936) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (937) TransformationProof (EQUIVALENT) 176.54/122.04 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_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(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_primModNatS01(Succ(x2), Zero)))) 176.54/122.04 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.54/122.04 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) 176.54/122.04 (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))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (938) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 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))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 176.54/122.04 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)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (939) DependencyGraphProof (EQUIVALENT) 176.54/122.04 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (940) 176.54/122.04 Complex Obligation (AND) 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (941) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.54/122.04 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)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (942) TransformationProof (EQUIVALENT) 176.54/122.04 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_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (943) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (944) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (945) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (946) TransformationProof (EQUIVALENT) 176.54/122.04 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (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))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (947) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.04 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)))) 176.54/122.04 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)))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.04 176.54/122.04 We have to consider all minimal (P,Q,R)-chains. 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (948) TransformationProof (EQUIVALENT) 176.54/122.04 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.04 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(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_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.04 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(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_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.04 176.54/122.04 176.54/122.04 ---------------------------------------- 176.54/122.04 176.54/122.04 (949) 176.54/122.04 Obligation: 176.54/122.04 Q DP problem: 176.54/122.04 The TRS P consists of the following rules: 176.54/122.04 176.54/122.04 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)))) 176.54/122.04 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)))) 176.54/122.04 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)))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.04 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.04 176.54/122.04 The TRS R consists of the following rules: 176.54/122.04 176.54/122.04 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.04 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.04 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.04 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.04 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.04 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.04 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.04 176.54/122.04 The set Q consists of the following terms: 176.54/122.04 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.04 new_primModNatS1(Zero, x0) 176.54/122.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.04 new_primModNatS1(Succ(Zero), Zero) 176.54/122.04 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.04 new_primModNatS01(x0, x1) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.04 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.04 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.04 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.04 new_primMinusNatS0(Zero, Zero) 176.54/122.04 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (950) TransformationProof (EQUIVALENT) 176.54/122.05 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (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)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (951) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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)))) 176.54/122.05 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)))) 176.54/122.05 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)))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.05 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))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (952) TransformationProof (EQUIVALENT) 176.54/122.05 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]: 176.54/122.05 176.54/122.05 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(x0, Zero, x0, Zero)))) 176.54/122.05 (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)))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (953) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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)))) 176.54/122.05 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)))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (954) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (955) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.05 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)))) 176.54/122.05 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)))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (956) QDPOrderProof (EQUIVALENT) 176.54/122.05 We use the reduction pair processor [LPAR04,JAR06]. 176.54/122.05 176.54/122.05 176.54/122.05 The following pairs can be oriented strictly and are deleted. 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.05 The remaining pairs can at least be oriented weakly. 176.54/122.05 Used ordering: Polynomial interpretation [POLO]: 176.54/122.05 176.54/122.05 POL(False) = 0 176.54/122.05 POL(Pos(x_1)) = 2*x_1 176.54/122.05 POL(Succ(x_1)) = 1 + x_1 176.54/122.05 POL(True) = 3 176.54/122.05 POL(Zero) = 1 176.54/122.05 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 176.54/122.05 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2 + x_2 + x_3 176.54/122.05 POL(new_primEqInt(x_1, x_2)) = 0 176.54/122.05 POL(new_primMinusNatS0(x_1, x_2)) = 1 + x_1 176.54/122.05 POL(new_primModNatS01(x_1, x_2)) = 2 + x_1 176.54/122.05 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 176.54/122.05 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.05 176.54/122.05 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (957) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.05 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)))) 176.54/122.05 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)))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (958) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (959) 176.54/122.05 TRUE 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (960) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (961) TransformationProof (EQUIVALENT) 176.54/122.05 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_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.54/122.05 (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.54/122.05 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(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_primModNatS01(Succ(Zero), Succ(Zero))))) 176.54/122.05 (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)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (962) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.05 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 176.54/122.05 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))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (963) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (964) 176.54/122.05 Complex Obligation (AND) 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (965) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.05 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))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (966) TransformationProof (EQUIVALENT) 176.54/122.05 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (967) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (968) TransformationProof (EQUIVALENT) 176.54/122.05 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (969) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (970) TransformationProof (EQUIVALENT) 176.54/122.05 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (971) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (972) TransformationProof (EQUIVALENT) 176.54/122.05 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (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)))))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (973) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 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))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (974) QDPOrderProof (EQUIVALENT) 176.54/122.05 We use the reduction pair processor [LPAR04,JAR06]. 176.54/122.05 176.54/122.05 176.54/122.05 The following pairs can be oriented strictly and are deleted. 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 The remaining pairs can at least be oriented weakly. 176.54/122.05 Used ordering: Polynomial interpretation [POLO]: 176.54/122.05 176.54/122.05 POL(False) = 0 176.54/122.05 POL(Pos(x_1)) = 2*x_1 176.54/122.05 POL(Succ(x_1)) = 1 + x_1 176.54/122.05 POL(True) = 3 176.54/122.05 POL(Zero) = 0 176.54/122.05 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 176.54/122.05 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2 + x_2 + x_3 176.54/122.05 POL(new_primEqInt(x_1, x_2)) = 0 176.54/122.05 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.05 POL(new_primModNatS01(x_1, x_2)) = 1 + x_1 176.54/122.05 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 176.54/122.05 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.05 176.54/122.05 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (975) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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))))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 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))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (976) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (977) 176.54/122.05 TRUE 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (978) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (979) QReductionProof (EQUIVALENT) 176.54/122.05 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 176.54/122.05 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (980) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 176.54/122.05 We have to consider all (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (981) InductionCalculusProof (EQUIVALENT) 176.54/122.05 Note that final constraints are written in bold face. 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.54/122.05 *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_primModNatS02(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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 176.54/122.05 176.54/122.05 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.05 176.54/122.05 (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.05 176.54/122.05 (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x17))))), Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) 176.54/122.05 176.54/122.05 (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.05 176.54/122.05 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.05 176.54/122.05 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (4) using rule (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.05 176.54/122.05 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.05 176.54/122.05 (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.05 176.54/122.05 (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.05 176.54/122.05 (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> 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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.05 176.54/122.05 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (18) (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (20) (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 176.54/122.05 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), 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_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 176.54/122.05 176.54/122.05 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (2) (Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & Pos(Zero)=x53 & new_primEqInt(x52, x53)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52, x53)=False which results in the following new constraint: 176.54/122.05 176.54/122.05 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x54)) & Pos(Zero)=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (4) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS02(x55, x56, x6, x7)=Succ(x54) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x56, x6, x7)=Succ(x54) which results in the following new constraints: 176.54/122.05 176.54/122.05 (5) (new_primModNatS01(x59, x58)=Succ(x54) & Succ(Succ(Succ(x57)))=x59 & Succ(Succ(Zero))=x58 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x57))), Succ(Succ(Zero)), Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.05 176.54/122.05 (6) (new_primModNatS02(x63, x62, x61, x60)=Succ(x54) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 & (\/x64:new_primModNatS02(x63, x62, x61, x60)=Succ(x64) & Succ(Succ(x61))=x63 & Succ(Succ(x60))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) 176.54/122.05 176.54/122.05 (7) (new_primModNatS01(x66, x65)=Succ(x54) & Succ(Succ(Zero))=x66 & Succ(Succ(Zero))=x65 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 (8) (Succ(Succ(x69))=Succ(x54) & Succ(Succ(Zero))=x69 & Succ(Succ(Succ(x67)))=x68 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x67))), Zero, Succ(x67))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x59, x58)=Succ(x54) which results in the following new constraint: 176.54/122.05 176.54/122.05 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x71), Succ(x70)), Succ(x70))=Succ(x54) & Succ(Succ(Succ(x57)))=x71 & Succ(Succ(Zero))=x70 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x57))), Succ(Succ(Zero)), Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (6) using rule (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (10) (new_primModNatS02(x63, x62, x61, x60)=Succ(x54) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x66, x65)=Succ(x54) which results in the following new constraint: 176.54/122.05 176.54/122.05 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x90), Succ(x89)), Succ(x89))=Succ(x54) & Succ(Succ(Zero))=x90 & Succ(Succ(Zero))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x67))), Zero, Succ(x67))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x57))), Succ(Succ(Zero)), Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x63, x62, x61, x60)=Succ(x54) which results in the following new constraints: 176.54/122.05 176.54/122.05 (14) (new_primModNatS01(x78, x77)=Succ(x54) & Succ(Succ(Succ(Succ(x76))))=x78 & Succ(Succ(Succ(Zero)))=x77 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Zero))), Succ(Succ(x76)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))))) 176.54/122.05 176.54/122.05 (15) (new_primModNatS02(x82, x81, x80, x79)=Succ(x54) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Succ(x79))))=x81 & (\/x83:new_primModNatS02(x82, x81, x80, x79)=Succ(x83) & Succ(Succ(Succ(x80)))=x82 & Succ(Succ(Succ(x79)))=x81 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x80)))))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x80))), Succ(Succ(Succ(x79))), Succ(x80), Succ(x79))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))), Pos(Succ(Succ(Succ(Succ(Succ(x80)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 176.54/122.05 176.54/122.05 (16) (new_primModNatS01(x85, x84)=Succ(x54) & Succ(Succ(Succ(Zero)))=x85 & Succ(Succ(Succ(Zero)))=x84 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 (17) (Succ(Succ(x88))=Succ(x54) & Succ(Succ(Succ(Zero)))=x88 & Succ(Succ(Succ(Succ(x86))))=x87 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x86)))), Succ(Zero), Succ(Succ(x86)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Zero))), Succ(Succ(x76)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.05 176.54/122.05 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x86)))), Succ(Zero), Succ(Succ(x86)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.05 176.54/122.05 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.05 176.54/122.05 *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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.05 176.54/122.05 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x86)))), Succ(Zero), Succ(Succ(x86)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x86))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x67))), Zero, Succ(x67))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x57))), Succ(Succ(Zero)), Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x76)))), Succ(Succ(Succ(Zero))), Succ(Succ(x76)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x76))))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.05 176.54/122.05 176.54/122.05 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 176.54/122.05 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. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (982) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.05 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (983) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primRemInt(Pos(vuz690), Neg(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.54/122.05 new_primRemInt(Pos(vuz690), Pos(Succ(vuz6800))) -> Pos(new_primModNatS1(vuz690, vuz6800)) 176.54/122.05 new_primRemInt(Neg(vuz690), Neg(Zero)) -> new_error 176.54/122.05 new_primRemInt(Neg(vuz690), Pos(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.54/122.05 new_primRemInt(Pos(vuz690), Pos(Zero)) -> new_error 176.54/122.05 new_primRemInt(Neg(vuz690), Neg(Succ(vuz6800))) -> Neg(new_primModNatS1(vuz690, vuz6800)) 176.54/122.05 new_primRemInt(Pos(vuz690), Neg(Zero)) -> new_error 176.54/122.05 new_primRemInt(Neg(vuz690), Pos(Zero)) -> new_error 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 new_error -> error([]) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_error 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (984) UsableRulesProof (EQUIVALENT) 176.54/122.05 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. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (985) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_error 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (986) QReductionProof (EQUIVALENT) 176.54/122.05 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.54/122.05 176.54/122.05 new_primRemInt(Neg(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Pos(x0), Pos(Succ(x1))) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Succ(x1))) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Succ(x1))) 176.54/122.05 new_error 176.54/122.05 new_primRemInt(Pos(x0), Pos(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Neg(Succ(x1))) 176.54/122.05 new_primRemInt(Pos(x0), Neg(Zero)) 176.54/122.05 new_primRemInt(Neg(x0), Pos(Zero)) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (987) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (988) TransformationProof (EQUIVALENT) 176.54/122.05 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]: 176.54/122.05 176.54/122.05 (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)))) 176.54/122.05 (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))) 176.54/122.05 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.05 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.05 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(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_primModNatS02(x0, x1, x0, x1)))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (989) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (990) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (991) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (992) TransformationProof (EQUIVALENT) 176.54/122.05 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.05 176.54/122.05 (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)))) 176.54/122.05 176.54/122.05 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (993) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) 176.54/122.05 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.05 new_primModNatS01(x0, x1) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.05 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.05 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.05 new_primMinusNatS0(Zero, Zero) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.05 176.54/122.05 We have to consider all minimal (P,Q,R)-chains. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (994) DependencyGraphProof (EQUIVALENT) 176.54/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.05 ---------------------------------------- 176.54/122.05 176.54/122.05 (995) 176.54/122.05 Obligation: 176.54/122.05 Q DP problem: 176.54/122.05 The TRS P consists of the following rules: 176.54/122.05 176.54/122.05 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.05 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.05 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.05 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.05 176.54/122.05 The TRS R consists of the following rules: 176.54/122.05 176.54/122.05 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.05 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.05 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.05 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.05 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.05 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.05 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.05 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.05 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.05 176.54/122.05 The set Q consists of the following terms: 176.54/122.05 176.54/122.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.05 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.05 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.05 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.05 new_primModNatS1(Zero, x0) 176.54/122.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (996) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (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)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (997) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (998) TransformationProof (EQUIVALENT) 176.54/122.06 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 176.54/122.06 (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) 176.54/122.06 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))) 176.54/122.06 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 176.54/122.06 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (999) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1000) DependencyGraphProof (EQUIVALENT) 176.54/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1001) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1002) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (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)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1003) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1004) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1005) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1006) TransformationProof (EQUIVALENT) 176.54/122.06 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 176.54/122.06 (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(Zero))) 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1007) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(Zero)) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1008) DependencyGraphProof (EQUIVALENT) 176.54/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1009) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1010) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1011) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1012) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (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)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1013) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1014) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1015) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1016) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1017) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1018) DependencyGraphProof (EQUIVALENT) 176.54/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1019) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1020) TransformationProof (EQUIVALENT) 176.54/122.06 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_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(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_primModNatS01(Succ(x2), Zero)))) 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) 176.54/122.06 (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))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1021) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 176.54/122.06 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)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1022) TransformationProof (EQUIVALENT) 176.54/122.06 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_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1023) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1024) TransformationProof (EQUIVALENT) 176.54/122.06 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_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1025) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1026) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1027) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1028) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1029) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1030) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (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))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1031) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 176.54/122.06 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)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1032) TransformationProof (EQUIVALENT) 176.54/122.06 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.06 176.54/122.06 (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))))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1033) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 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)))) 176.54/122.06 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)))) 176.54/122.06 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)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1034) DependencyGraphProof (EQUIVALENT) 176.54/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1035) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 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)))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1036) TransformationProof (EQUIVALENT) 176.54/122.06 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]: 176.54/122.06 176.54/122.06 (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)))) 176.54/122.06 (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))) 176.54/122.06 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.06 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.06 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(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_primModNatS02(x0, x1, x0, x1)))) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1037) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.06 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)))) 176.54/122.06 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)))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1038) DependencyGraphProof (EQUIVALENT) 176.54/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1039) 176.54/122.06 Complex Obligation (AND) 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1040) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.06 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1041) UsableRulesProof (EQUIVALENT) 176.54/122.06 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1042) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1043) QReductionProof (EQUIVALENT) 176.54/122.06 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.54/122.06 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.06 new_primModNatS01(x0, x1) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.06 176.54/122.06 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1044) 176.54/122.06 Obligation: 176.54/122.06 Q DP problem: 176.54/122.06 The TRS P consists of the following rules: 176.54/122.06 176.54/122.06 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.06 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.06 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.06 176.54/122.06 The TRS R consists of the following rules: 176.54/122.06 176.54/122.06 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.06 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.06 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.06 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.06 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.06 176.54/122.06 The set Q consists of the following terms: 176.54/122.06 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.06 new_primModNatS1(Zero, x0) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.06 new_primModNatS1(Succ(Zero), Zero) 176.54/122.06 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.06 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.06 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.06 new_primMinusNatS0(Zero, Zero) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.06 176.54/122.06 We have to consider all minimal (P,Q,R)-chains. 176.54/122.06 ---------------------------------------- 176.54/122.06 176.54/122.06 (1045) TransformationProof (EQUIVALENT) 176.54/122.06 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]: 176.54/122.06 176.54/122.06 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1046) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1047) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1048) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1049) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1050) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1051) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1052) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1053) TransformationProof (EQUIVALENT) 176.54/122.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1054) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1055) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1056) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1057) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1058) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1059) TransformationProof (EQUIVALENT) 176.54/122.07 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]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.07 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1060) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1061) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1062) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 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))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1063) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1064) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 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))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1065) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1066) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 176.54/122.07 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))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1067) TransformationProof (EQUIVALENT) 176.54/122.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1068) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 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))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1069) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1070) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 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))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1071) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1072) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 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))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1073) QDPSizeChangeProof (EQUIVALENT) 176.54/122.07 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.54/122.07 176.54/122.07 Order:Polynomial interpretation [POLO]: 176.54/122.07 176.54/122.07 POL(False) = 1 176.54/122.07 POL(Neg(x_1)) = 1 176.54/122.07 POL(Pos(x_1)) = x_1 176.54/122.07 POL(Succ(x_1)) = 1 + x_1 176.54/122.07 POL(Zero) = 1 176.54/122.07 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.07 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.07 176.54/122.07 176.54/122.07 176.54/122.07 176.54/122.07 From the DPs we obtained the following set of size-change graphs: 176.54/122.07 *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}) 176.54/122.07 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.07 176.54/122.07 176.54/122.07 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 176.54/122.07 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.07 176.54/122.07 176.54/122.07 *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}) 176.54/122.07 The graph contains the following edges 2 >= 1, 3 >= 2 176.54/122.07 176.54/122.07 176.54/122.07 *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}) 176.54/122.07 The graph contains the following edges 2 >= 1, 3 > 2 176.54/122.07 176.54/122.07 176.54/122.07 176.54/122.07 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.54/122.07 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1074) 176.54/122.07 YES 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1075) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.07 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.07 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.07 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.07 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.07 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.07 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.07 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS01(x0, x1) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1076) UsableRulesProof (EQUIVALENT) 176.54/122.07 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1077) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS01(x0, x1) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1078) QReductionProof (EQUIVALENT) 176.54/122.07 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.54/122.07 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.07 new_primModNatS01(x0, x1) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1079) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1080) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1081) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1082) TransformationProof (EQUIVALENT) 176.54/122.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1083) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1084) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1085) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1086) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1087) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1088) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1089) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1090) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1091) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1092) TransformationProof (EQUIVALENT) 176.54/122.07 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1093) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1094) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1095) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1096) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1097) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1098) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1099) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1100) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1101) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1102) TransformationProof (EQUIVALENT) 176.54/122.07 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]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.07 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1103) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1104) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1105) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1106) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1107) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1108) TransformationProof (EQUIVALENT) 176.54/122.07 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]: 176.54/122.07 176.54/122.07 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) 176.54/122.07 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1109) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1110) DependencyGraphProof (EQUIVALENT) 176.54/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1111) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 176.54/122.07 The TRS R consists of the following rules: 176.54/122.07 176.54/122.07 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.07 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.07 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.07 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.07 176.54/122.07 The set Q consists of the following terms: 176.54/122.07 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.07 new_primModNatS1(Zero, x0) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.07 new_primModNatS1(Succ(Zero), Zero) 176.54/122.07 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.07 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.07 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.07 new_primMinusNatS0(Zero, Zero) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.07 176.54/122.07 We have to consider all minimal (P,Q,R)-chains. 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1112) TransformationProof (EQUIVALENT) 176.54/122.07 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.07 176.54/122.07 (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)))) 176.54/122.07 176.54/122.07 176.54/122.07 ---------------------------------------- 176.54/122.07 176.54/122.07 (1113) 176.54/122.07 Obligation: 176.54/122.07 Q DP problem: 176.54/122.07 The TRS P consists of the following rules: 176.54/122.07 176.54/122.07 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.07 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.07 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 176.54/122.08 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))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1114) QDPSizeChangeProof (EQUIVALENT) 176.54/122.08 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 176.54/122.08 176.54/122.08 Order:Polynomial interpretation [POLO]: 176.54/122.08 176.54/122.08 POL(False) = 1 176.54/122.08 POL(Neg(x_1)) = x_1 176.54/122.08 POL(Pos(x_1)) = 1 176.54/122.08 POL(Succ(x_1)) = 1 + x_1 176.54/122.08 POL(Zero) = 1 176.54/122.08 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.08 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.08 176.54/122.08 176.54/122.08 176.54/122.08 176.54/122.08 From the DPs we obtained the following set of size-change graphs: 176.54/122.08 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 176.54/122.08 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.08 176.54/122.08 176.54/122.08 *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}) 176.54/122.08 The graph contains the following edges 2 >= 2, 1 >= 3 176.54/122.08 176.54/122.08 176.54/122.08 *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}) 176.54/122.08 The graph contains the following edges 2 >= 1, 3 > 2 176.54/122.08 176.54/122.08 176.54/122.08 *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}) 176.54/122.08 The graph contains the following edges 2 >= 1, 3 >= 2 176.54/122.08 176.54/122.08 176.54/122.08 176.54/122.08 We oriented the following set of usable rules [AAECC05,FROCOS05]. 176.54/122.08 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1115) 176.54/122.08 YES 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1116) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz69000), Zero), Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1117) UsableRulesProof (EQUIVALENT) 176.54/122.08 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. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1118) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1119) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.54/122.08 (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(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_primModNatS01(Succ(Zero), Succ(Zero))))) 176.54/122.08 (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)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1120) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 176.54/122.08 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))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1121) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1122) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1123) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1124) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1125) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1126) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1127) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1128) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1129) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1130) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1131) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1132) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1133) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1134) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) 176.54/122.08 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))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1135) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1136) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1137) DependencyGraphProof (EQUIVALENT) 176.54/122.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1138) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1139) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(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_primModNatS01(Succ(x2), Zero)))) 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) 176.54/122.08 (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))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1140) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1141) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1142) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1143) TransformationProof (EQUIVALENT) 176.54/122.08 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_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1144) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1145) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1146) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1147) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1148) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1149) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1150) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1151) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1152) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1153) DependencyGraphProof (EQUIVALENT) 176.54/122.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1154) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1155) TransformationProof (EQUIVALENT) 176.54/122.08 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.54/122.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 176.54/122.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 176.54/122.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(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_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1156) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1157) DependencyGraphProof (EQUIVALENT) 176.54/122.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1158) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1159) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1160) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.08 176.54/122.08 We have to consider all minimal (P,Q,R)-chains. 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1161) TransformationProof (EQUIVALENT) 176.54/122.08 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.08 176.54/122.08 (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))))) 176.54/122.08 176.54/122.08 176.54/122.08 ---------------------------------------- 176.54/122.08 176.54/122.08 (1162) 176.54/122.08 Obligation: 176.54/122.08 Q DP problem: 176.54/122.08 The TRS P consists of the following rules: 176.54/122.08 176.54/122.08 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)))) 176.54/122.08 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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)))) 176.54/122.08 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.08 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))))) 176.54/122.08 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))))) 176.54/122.08 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.08 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)))) 176.54/122.08 176.54/122.08 The TRS R consists of the following rules: 176.54/122.08 176.54/122.08 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.08 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.08 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.08 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.08 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.08 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.08 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.08 176.54/122.08 The set Q consists of the following terms: 176.54/122.08 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.08 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.08 new_primModNatS1(Zero, x0) 176.54/122.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.08 new_primModNatS1(Succ(Zero), Zero) 176.54/122.08 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.08 new_primModNatS01(x0, x1) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.08 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.08 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.08 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.08 new_primMinusNatS0(Zero, Zero) 176.54/122.08 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1163) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1164) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1165) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1166) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1167) TransformationProof (EQUIVALENT) 176.54/122.09 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]: 176.54/122.09 176.54/122.09 (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)))) 176.54/122.09 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(x0, Zero, x0, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1168) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1169) DependencyGraphProof (EQUIVALENT) 176.54/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1170) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1171) TransformationProof (EQUIVALENT) 176.54/122.09 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(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_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.09 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(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_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1172) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1173) DependencyGraphProof (EQUIVALENT) 176.54/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1174) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1175) TransformationProof (EQUIVALENT) 176.54/122.09 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(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_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(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_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1176) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.09 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))))) 176.54/122.09 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))))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1177) DependencyGraphProof (EQUIVALENT) 176.54/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1178) 176.54/122.09 Complex Obligation (AND) 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1179) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1180) UsableRulesProof (EQUIVALENT) 176.54/122.09 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1181) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1182) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1183) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1184) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1185) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1186) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1187) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1188) TransformationProof (EQUIVALENT) 176.54/122.09 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]: 176.54/122.09 176.54/122.09 (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)))) 176.54/122.09 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(x0, Zero, x0, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1189) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1190) DependencyGraphProof (EQUIVALENT) 176.54/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1191) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1192) TransformationProof (EQUIVALENT) 176.54/122.09 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(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_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.09 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(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_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1193) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1194) DependencyGraphProof (EQUIVALENT) 176.54/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1195) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1196) InductionCalculusProof (EQUIVALENT) 176.54/122.09 Note that final constraints are written in bold face. 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 176.54/122.09 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(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_primModNatS02(x2, Zero, x2, Zero))) which results in the following constraint: 176.54/122.09 176.54/122.09 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(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_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (2) (Pos(new_primModNatS02(x1, Zero, x1, Zero))=x20 & Pos(Zero)=x21 & new_primEqInt(x20, x21)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x20, x21)=False which results in the following new constraint: 176.54/122.09 176.54/122.09 (3) (False=False & Pos(new_primModNatS02(x1, Zero, x1, Zero))=Pos(Succ(x22)) & Pos(Zero)=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (4) (Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS02(x1, x23, x24, x25)=Succ(x22) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x1, Zero, x1, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1, x23, x24, x25)=Succ(x22) which results in the following new constraints: 176.54/122.09 176.54/122.09 (5) (new_primModNatS01(x28, x27)=Succ(x22) & Zero=x27 & x28=Succ(x26) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x28))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x28, Zero, x28, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x28))))))) 176.54/122.09 176.54/122.09 (6) (new_primModNatS02(x32, x31, x30, x29)=Succ(x22) & Zero=x31 & x32=Succ(x30) & Zero=Succ(x29) & (\/x33:new_primModNatS02(x32, x31, x30, x29)=Succ(x33) & Zero=x31 & x32=x30 & Zero=x29 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x32, Zero, x32, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x32))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x32, Zero, x32, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x32))))))) 176.54/122.09 176.54/122.09 (7) (new_primModNatS01(x35, x34)=Succ(x22) & Zero=x34 & x35=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x35))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x35, Zero, x35, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x35))))))) 176.54/122.09 176.54/122.09 (8) (Succ(Succ(x38))=Succ(x22) & Zero=x37 & x38=Zero & Zero=Succ(x36) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x38))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x38, Zero, x38, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x38))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (9) (Succ(x26)=x39 & new_primModNatS01(x39, x27)=Succ(x22) & Zero=x27 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x26), Zero, Succ(x26), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 176.54/122.09 (10) (Zero=x46 & new_primModNatS01(x46, x34)=Succ(x22) & Zero=x34 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x39, x27)=Succ(x22) which results in the following new constraint: 176.54/122.09 176.54/122.09 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x41), Succ(x40)), Succ(x40))=Succ(x22) & Succ(x26)=x41 & Zero=x40 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x26), Zero, Succ(x26), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x26), Zero, Succ(x26), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x46, x34)=Succ(x22) which results in the following new constraint: 176.54/122.09 176.54/122.09 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x48), Succ(x47)), Succ(x47))=Succ(x22) & Zero=x48 & Zero=x47 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.54/122.09 *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_primModNatS02(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: 176.54/122.09 176.54/122.09 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(x7, Zero, x7, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (2) (Zero=x53 & x7=x54 & Zero=x55 & new_primModNatS02(x7, x53, x54, x55)=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_primModNatS02(x7, Zero, x7, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x53, x54, x55)=Succ(Succ(Succ(x8))) which results in the following new constraints: 176.54/122.09 176.54/122.09 (3) (new_primModNatS01(x58, x57)=Succ(Succ(Succ(x8))) & Zero=x57 & x58=Succ(x56) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x58, Zero, x58, Zero)))) 176.54/122.09 176.54/122.09 (4) (new_primModNatS02(x62, x61, x60, x59)=Succ(Succ(Succ(x8))) & Zero=x61 & x62=Succ(x60) & Zero=Succ(x59) & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(Succ(Succ(x63))) & Zero=x61 & x62=x60 & Zero=x59 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x62, Zero, x62, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x62, Zero, x62, Zero)))) 176.54/122.09 176.54/122.09 (5) (new_primModNatS01(x65, x64)=Succ(Succ(Succ(x8))) & Zero=x64 & x65=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x65, Zero, x65, Zero)))) 176.54/122.09 176.54/122.09 (6) (Succ(Succ(x68))=Succ(Succ(Succ(x8))) & Zero=x67 & x68=Zero & Zero=Succ(x66) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x68))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x68, Zero, x68, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (7) (Succ(x56)=x69 & new_primModNatS01(x69, x57)=Succ(Succ(Succ(x8))) & Zero=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x56), Zero, Succ(x56), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 176.54/122.09 (8) (Zero=x76 & new_primModNatS01(x76, x64)=Succ(Succ(Succ(x8))) & Zero=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x69, x57)=Succ(Succ(Succ(x8))) which results in the following new constraint: 176.54/122.09 176.54/122.09 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x71), Succ(x70)), Succ(x70))=Succ(Succ(Succ(x8))) & Succ(x56)=x71 & Zero=x70 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x56), Zero, Succ(x56), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x56), Zero, Succ(x56), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x76, x64)=Succ(Succ(Succ(x8))) which results in the following new constraint: 176.54/122.09 176.54/122.09 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x78), Succ(x77)), Succ(x77))=Succ(Succ(Succ(x8))) & Zero=x78 & Zero=x77 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 *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: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 *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_primEqInt(Pos(new_primModNatS02(x16, Zero, x16, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.09 176.54/122.09 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 176.54/122.09 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x26), Zero, Succ(x26), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 176.54/122.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x56), Zero, Succ(x56), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 *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)))) 176.54/122.09 176.54/122.09 *(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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 *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)))) 176.54/122.09 176.54/122.09 *(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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1197) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1198) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1199) UsableRulesProof (EQUIVALENT) 176.54/122.09 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1200) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1201) TransformationProof (EQUIVALENT) 176.54/122.09 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1202) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1203) UsableRulesProof (EQUIVALENT) 176.54/122.09 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1204) 176.54/122.09 Obligation: 176.54/122.09 Q DP problem: 176.54/122.09 The TRS P consists of the following rules: 176.54/122.09 176.54/122.09 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.09 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)))) 176.54/122.09 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.09 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)))) 176.54/122.09 176.54/122.09 The TRS R consists of the following rules: 176.54/122.09 176.54/122.09 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.09 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.09 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.09 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.09 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.09 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.09 176.54/122.09 The set Q consists of the following terms: 176.54/122.09 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.09 new_primModNatS1(Zero, x0) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.09 new_primModNatS1(Succ(Zero), Zero) 176.54/122.09 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.09 new_primModNatS01(x0, x1) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.09 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.09 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.09 new_primMinusNatS0(Zero, Zero) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.09 176.54/122.09 We have to consider all minimal (P,Q,R)-chains. 176.54/122.09 ---------------------------------------- 176.54/122.09 176.54/122.09 (1205) InductionCalculusProof (EQUIVALENT) 176.54/122.09 Note that final constraints are written in bold face. 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 176.54/122.09 *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_primModNatS02(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: 176.54/122.09 176.54/122.09 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(x3, Zero, x3, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS02(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_primModNatS02(x3, Zero, x3, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: 176.54/122.09 176.54/122.09 (3) (new_primModNatS01(x25, x24)=Succ(Succ(Succ(x4))) & Zero=x24 & x25=Succ(x23) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x25))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x25, Zero, x25, Zero)))) 176.54/122.09 176.54/122.09 (4) (new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x4))) & Zero=x28 & x29=Succ(x27) & Zero=Succ(x26) & (\/x30:new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x30))) & Zero=x28 & x29=x27 & Zero=x26 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) 176.54/122.09 176.54/122.09 (5) (new_primModNatS01(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Zero & 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_primModNatS02(x32, Zero, x32, Zero)))) 176.54/122.09 176.54/122.09 (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_primModNatS02(x35, Zero, x35, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (7) (Succ(x23)=x36 & new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) & Zero=x24 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 176.54/122.09 (8) (Zero=x43 & new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) which results in the following new constraint: 176.54/122.09 176.54/122.09 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Succ(x23)=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: 176.54/122.09 176.54/122.09 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Zero=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 *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_primEqInt(Neg(new_primModNatS02(x8, Zero, x8, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 176.54/122.09 176.54/122.09 (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))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 176.54/122.09 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(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_primModNatS02(x11, Zero, x11, Zero))) which results in the following constraint: 176.54/122.09 176.54/122.09 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(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_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (2) (Neg(new_primModNatS02(x10, Zero, x10, Zero))=x50 & Pos(Zero)=x51 & new_primEqInt(x50, x51)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x50, x51)=False which results in the following new constraint: 176.54/122.09 176.54/122.09 (3) (False=False & Neg(new_primModNatS02(x10, Zero, x10, Zero))=Neg(Succ(x53)) & Pos(Zero)=Pos(x52) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (4) (Zero=x54 & x10=x55 & Zero=x56 & new_primModNatS02(x10, x54, x55, x56)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x10, Zero, x10, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x54, x55, x56)=Succ(x53) which results in the following new constraints: 176.54/122.09 176.54/122.09 (5) (new_primModNatS01(x59, x58)=Succ(x53) & Zero=x58 & x59=Succ(x57) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x59, Zero, x59, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x59))))))) 176.54/122.09 176.54/122.09 (6) (new_primModNatS02(x63, x62, x61, x60)=Succ(x53) & Zero=x62 & x63=Succ(x61) & Zero=Succ(x60) & (\/x64:new_primModNatS02(x63, x62, x61, x60)=Succ(x64) & Zero=x62 & x63=x61 & Zero=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x63))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x63, Zero, x63, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x63))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x63, Zero, x63, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))) 176.54/122.09 176.54/122.09 (7) (new_primModNatS01(x66, x65)=Succ(x53) & Zero=x65 & x66=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x66))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x66, Zero, x66, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x66))))))) 176.54/122.09 176.54/122.09 (8) (Succ(Succ(x69))=Succ(x53) & Zero=x68 & x69=Zero & Zero=Succ(x67) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x69, Zero, x69, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x69))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (9) (Succ(x57)=x70 & new_primModNatS01(x70, x58)=Succ(x53) & Zero=x58 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 176.54/122.09 (10) (Zero=x77 & new_primModNatS01(x77, x65)=Succ(x53) & Zero=x65 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x70, x58)=Succ(x53) which results in the following new constraint: 176.54/122.09 176.54/122.09 (11) (new_primModNatS1(new_primMinusNatS0(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(x57)=x72 & Zero=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x77, x65)=Succ(x53) which results in the following new constraint: 176.54/122.09 176.54/122.09 (13) (new_primModNatS1(new_primMinusNatS0(Succ(x79), Succ(x78)), Succ(x78))=Succ(x53) & Zero=x79 & Zero=x78 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.09 176.54/122.09 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 176.54/122.09 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: 176.54/122.09 *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: 176.54/122.10 176.54/122.10 (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))))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.10 176.54/122.10 (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))))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.10 176.54/122.10 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.10 176.54/122.10 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) 176.54/122.10 176.54/122.10 176.54/122.10 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 *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)))) 176.54/122.10 176.54/122.10 *(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))))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.10 176.54/122.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) 176.54/122.10 176.54/122.10 176.54/122.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 *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)))) 176.54/122.10 176.54/122.10 *(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))))) 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/122.10 176.54/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. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1206) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 176.54/122.10 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)))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 176.54/122.10 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)))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1207) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1208) TransformationProof (EQUIVALENT) 176.54/122.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(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_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1209) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1210) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1211) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1212) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1213) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1214) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (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)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1215) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1216) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1217) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1218) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1219) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1220) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1221) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1222) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1223) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1224) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1225) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1226) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1227) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1228) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(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_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1229) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1230) DependencyGraphProof (EQUIVALENT) 176.54/122.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1231) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1232) TransformationProof (EQUIVALENT) 176.54/122.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(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_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1233) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1234) DependencyGraphProof (EQUIVALENT) 176.54/122.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1235) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1236) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1237) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1238) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (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)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1239) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1240) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1241) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1242) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1243) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1244) TransformationProof (EQUIVALENT) 176.54/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(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]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(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_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1245) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1246) TransformationProof (EQUIVALENT) 176.54/122.10 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_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 176.54/122.10 (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 176.54/122.10 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(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_primModNatS01(Succ(Zero), Succ(Zero))))) 176.54/122.10 (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)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1247) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.10 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 176.54/122.10 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))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1248) DependencyGraphProof (EQUIVALENT) 176.54/122.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1249) 176.54/122.10 Complex Obligation (AND) 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1250) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.10 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1251) UsableRulesProof (EQUIVALENT) 176.54/122.10 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1252) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.10 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.10 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.10 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.10 176.54/122.10 The set Q consists of the following terms: 176.54/122.10 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.10 new_primModNatS1(Zero, x0) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.10 new_primModNatS1(Succ(Zero), Zero) 176.54/122.10 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.10 new_primModNatS01(x0, x1) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.10 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.10 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.10 new_primMinusNatS0(Zero, Zero) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.10 176.54/122.10 We have to consider all minimal (P,Q,R)-chains. 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1253) TransformationProof (EQUIVALENT) 176.54/122.10 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_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 176.54/122.10 176.54/122.10 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 176.54/122.10 176.54/122.10 176.54/122.10 ---------------------------------------- 176.54/122.10 176.54/122.10 (1254) 176.54/122.10 Obligation: 176.54/122.10 Q DP problem: 176.54/122.10 The TRS P consists of the following rules: 176.54/122.10 176.54/122.10 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))))) 176.54/122.10 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))))) 176.54/122.10 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.10 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 176.54/122.10 176.54/122.10 The TRS R consists of the following rules: 176.54/122.10 176.54/122.10 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.10 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.10 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.10 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1255) TransformationProof (EQUIVALENT) 176.54/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.11 176.54/122.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1256) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1257) TransformationProof (EQUIVALENT) 176.54/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.11 176.54/122.11 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1258) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1259) TransformationProof (EQUIVALENT) 176.54/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1260) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1261) InductionCalculusProof (EQUIVALENT) 176.54/122.11 Note that final constraints are written in bold face. 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 *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: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 *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_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 176.54/122.11 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(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: 176.54/122.11 176.54/122.11 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(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_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & Pos(Zero)=x21 & new_primEqInt(x20, x21)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x20, x21)=False which results in the following new constraint: 176.54/122.11 176.54/122.11 (3) (False=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x23)) & Pos(Zero)=Pos(x22) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (4) (Succ(x13)=x24 & Succ(Succ(Zero))=x25 & new_primModNatS1(x24, x25)=Succ(x23) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x24, x25)=Succ(x23) which results in the following new constraints: 176.54/122.11 176.54/122.11 (5) (Succ(Zero)=Succ(x23) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 (6) (new_primModNatS02(x28, x27, x28, x27)=Succ(x23) & Succ(x13)=Succ(Succ(x28)) & Succ(Succ(Zero))=Succ(x27) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (7) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (8) (x28=x30 & x27=x31 & new_primModNatS02(x28, x27, x30, x31)=Succ(x23) & Succ(Zero)=x27 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x28)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x28)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x28)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x28, x27, x30, x31)=Succ(x23) which results in the following new constraints: 176.54/122.11 176.54/122.11 (9) (new_primModNatS01(x34, x33)=Succ(x23) & x34=Succ(x32) & x33=Zero & Succ(Zero)=x33 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x34)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) 176.54/122.11 176.54/122.11 (10) (new_primModNatS02(x38, x37, x36, x35)=Succ(x23) & x38=Succ(x36) & x37=Succ(x35) & Succ(Zero)=x37 & (\/x39:new_primModNatS02(x38, x37, x36, x35)=Succ(x39) & x38=x36 & x37=x35 & Succ(Zero)=x37 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x38)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x38)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x38)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x38)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x38)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x38)))))))) 176.54/122.11 176.54/122.11 (11) (new_primModNatS01(x41, x40)=Succ(x23) & x41=Zero & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x41)))))))) 176.54/122.11 176.54/122.11 (12) (Succ(Succ(x44))=Succ(x23) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x44)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 176.54/122.11 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x36))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 176.54/122.11 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 *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: 176.54/122.11 176.54/122.11 (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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Succ(x15)=x47 & Succ(Succ(Zero))=x48 & new_primModNatS1(x47, x48)=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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> 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)))))) 176.54/122.11 176.54/122.11 (4) (new_primModNatS02(x51, x50, x51, x50)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x51)) & Succ(Succ(Zero))=Succ(x50) ==> 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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 176.54/122.11 (5) (x51=x53 & x50=x54 & new_primModNatS02(x51, x50, x53, x54)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x50 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x51)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x51)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50, x53, x54)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (6) (new_primModNatS01(x57, x56)=Succ(Succ(Succ(Succ(x16)))) & x57=Succ(x55) & x56=Zero & Succ(Zero)=x56 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x57)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 (7) (new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(Succ(x16)))) & x61=Succ(x59) & x60=Succ(x58) & Succ(Zero)=x60 & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(Succ(x62)))) & x61=x59 & x60=x58 & Succ(Zero)=x60 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x61)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x61)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 (8) (new_primModNatS01(x64, x63)=Succ(Succ(Succ(Succ(x16)))) & x64=Zero & x63=Zero & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 (9) (Succ(Succ(x67))=Succ(Succ(Succ(Succ(x16)))) & x67=Zero & x66=Succ(x65) & Succ(Zero)=x66 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x67)), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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: 176.54/122.11 176.54/122.11 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x59))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x59))), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.11 176.54/122.11 *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))))) 176.54/122.11 176.54/122.11 *(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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *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))))) 176.54/122.11 176.54/122.11 *(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)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x36))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *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))))) 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x59))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x59))), Succ(Succ(Zero)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/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. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1262) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1263) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.11 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1264) UsableRulesProof (EQUIVALENT) 176.54/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. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1265) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.11 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1266) QDPOrderProof (EQUIVALENT) 176.54/122.11 We use the reduction pair processor [LPAR04,JAR06]. 176.54/122.11 176.54/122.11 176.54/122.11 The following pairs can be oriented strictly and are deleted. 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 The remaining pairs can at least be oriented weakly. 176.54/122.11 Used ordering: Polynomial interpretation [POLO]: 176.54/122.11 176.54/122.11 POL(False) = 0 176.54/122.11 POL(Neg(x_1)) = 2 176.54/122.11 POL(Pos(x_1)) = 2*x_1 176.54/122.11 POL(Succ(x_1)) = 1 + x_1 176.54/122.11 POL(True) = 3 176.54/122.11 POL(Zero) = 0 176.54/122.11 POL(new_gcd0Gcd'0(x_1, x_2)) = x_1 + x_2 176.54/122.11 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 176.54/122.11 POL(new_primEqInt(x_1, x_2)) = 0 176.54/122.11 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.11 POL(new_primModNatS01(x_1, x_2)) = 1 + x_1 176.54/122.11 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 176.54/122.11 POL(new_primModNatS1(x_1, x_2)) = x_1 176.54/122.11 176.54/122.11 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1267) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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))))) 176.54/122.11 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))))) 176.54/122.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.11 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1268) DependencyGraphProof (EQUIVALENT) 176.54/122.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1269) 176.54/122.11 TRUE 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1270) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.11 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1271) InductionCalculusProof (EQUIVALENT) 176.54/122.11 Note that final constraints are written in bold face. 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.54/122.11 *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_primModNatS02(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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 176.54/122.11 176.54/122.11 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS02(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_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (3) (new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x44 & Succ(Succ(Zero))=x43 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) 176.54/122.11 176.54/122.11 (4) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 & (\/x49:new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x49)))) & Succ(Succ(x46))=x48 & Succ(Succ(x45))=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x45))))), Neg(Succ(Succ(Succ(Succ(x46))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x45))))), Neg(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x45)), x46, x45)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) 176.54/122.11 176.54/122.11 (5) (new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x51 & Succ(Succ(Zero))=x50 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.11 176.54/122.11 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (4) using rule (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (8) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 176.54/122.11 176.54/122.11 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x75 & Succ(Succ(Zero))=x74 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (12) (new_primModNatS01(x63, x62)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x61))))=x63 & Succ(Succ(Succ(Zero)))=x62 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) 176.54/122.11 176.54/122.11 (13) (new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x65))))=x67 & Succ(Succ(Succ(Succ(x64))))=x66 & (\/x68:new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x68)))) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Succ(x64)))=x66 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x65))), Succ(Succ(Succ(x64))), Succ(x65), Succ(x64))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) 176.54/122.11 176.54/122.11 (14) (new_primModNatS01(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> 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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (18) (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (20) (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 176.54/122.11 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), 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_primModNatS02(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: 176.54/122.11 176.54/122.11 (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), 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_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & Pos(Zero)=x81 & new_primEqInt(x80, x81)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x80, x81)=False which results in the following new constraints: 176.54/122.11 176.54/122.11 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x82)) & Pos(Zero)=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 176.54/122.11 176.54/122.11 (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x84)) & Pos(Zero)=Pos(x83) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (5) (Succ(Succ(x14))=x85 & Succ(Succ(x15))=x86 & new_primModNatS02(x85, x86, x14, x15)=Succ(x82) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x85, x86, x14, x15)=Succ(x82) which results in the following new constraints: 176.54/122.11 176.54/122.11 (6) (new_primModNatS01(x89, x88)=Succ(x82) & Succ(Succ(Succ(x87)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x87)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x87))), Succ(Succ(Zero)), Succ(x87), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x87)))))))) 176.54/122.11 176.54/122.11 (7) (new_primModNatS02(x93, x92, x91, x90)=Succ(x82) & Succ(Succ(Succ(x91)))=x93 & Succ(Succ(Succ(x90)))=x92 & (\/x94:new_primModNatS02(x93, x92, x91, x90)=Succ(x94) & Succ(Succ(x91))=x93 & Succ(Succ(x90))=x92 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x91))))), Neg(Succ(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x91)), Succ(Succ(x90)), x91, x90)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x90))))), Pos(Succ(Succ(Succ(Succ(x91))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x91)))))), Neg(Succ(Succ(Succ(Succ(Succ(x90)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x91))), Succ(Succ(Succ(x90))), Succ(x91), Succ(x90))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x90)))))), Pos(Succ(Succ(Succ(Succ(Succ(x91)))))))) 176.54/122.11 176.54/122.11 (8) (new_primModNatS01(x96, x95)=Succ(x82) & Succ(Succ(Zero))=x96 & Succ(Succ(Zero))=x95 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 (9) (Succ(Succ(x99))=Succ(x82) & Succ(Succ(Zero))=x99 & Succ(Succ(Succ(x97)))=x98 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x97))), Zero, Succ(x97))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x89, x88)=Succ(x82) which results in the following new constraint: 176.54/122.11 176.54/122.11 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x101), Succ(x100)), Succ(x100))=Succ(x82) & Succ(Succ(Succ(x87)))=x101 & Succ(Succ(Zero))=x100 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x87)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x87))), Succ(Succ(Zero)), Succ(x87), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x87)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (11) (new_primModNatS02(x93, x92, x91, x90)=Succ(x82) & Succ(Succ(Succ(x91)))=x93 & Succ(Succ(Succ(x90)))=x92 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x91)))))), Neg(Succ(Succ(Succ(Succ(Succ(x90)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x91))), Succ(Succ(Succ(x90))), Succ(x91), Succ(x90))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x90)))))), Pos(Succ(Succ(Succ(Succ(Succ(x91)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x96, x95)=Succ(x82) which results in the following new constraint: 176.54/122.11 176.54/122.11 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x120), Succ(x119)), Succ(x119))=Succ(x82) & Succ(Succ(Zero))=x120 & Succ(Succ(Zero))=x119 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x97))), Zero, Succ(x97))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x87)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x87))), Succ(Succ(Zero)), Succ(x87), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x87)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x93, x92, x91, x90)=Succ(x82) which results in the following new constraints: 176.54/122.11 176.54/122.11 (15) (new_primModNatS01(x108, x107)=Succ(x82) & Succ(Succ(Succ(Succ(x106))))=x108 & Succ(Succ(Succ(Zero)))=x107 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x106)))), Succ(Succ(Succ(Zero))), Succ(Succ(x106)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))) 176.54/122.11 176.54/122.11 (16) (new_primModNatS02(x112, x111, x110, x109)=Succ(x82) & Succ(Succ(Succ(Succ(x110))))=x112 & Succ(Succ(Succ(Succ(x109))))=x111 & (\/x113:new_primModNatS02(x112, x111, x110, x109)=Succ(x113) & Succ(Succ(Succ(x110)))=x112 & Succ(Succ(Succ(x109)))=x111 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x110)))))), Neg(Succ(Succ(Succ(Succ(Succ(x109)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x110))), Succ(Succ(Succ(x109))), Succ(x110), Succ(x109))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(Succ(Succ(Succ(Succ(Succ(x110)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x110)))), Succ(Succ(Succ(Succ(x109)))), Succ(Succ(x110)), Succ(Succ(x109)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))))) 176.54/122.11 176.54/122.11 (17) (new_primModNatS01(x115, x114)=Succ(x82) & Succ(Succ(Succ(Zero)))=x115 & Succ(Succ(Succ(Zero)))=x114 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 (18) (Succ(Succ(x118))=Succ(x82) & Succ(Succ(Succ(Zero)))=x118 & Succ(Succ(Succ(Succ(x116))))=x117 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x116)))), Succ(Zero), Succ(Succ(x116)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x106)))), Succ(Succ(Succ(Zero))), Succ(Succ(x106)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x110)))), Succ(Succ(Succ(Succ(x109)))), Succ(Succ(x110)), Succ(Succ(x109)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x116)))), Succ(Zero), Succ(Succ(x116)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 176.54/122.11 *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_primModNatS02(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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: 176.54/122.11 176.54/122.11 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(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_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Succ(Succ(x27))=x125 & Succ(Succ(x26))=x126 & new_primModNatS02(x125, x126, 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_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x125, x126, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (3) (new_primModNatS01(x129, x128)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x127)))=x129 & Succ(Succ(Zero))=x128 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x127)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x127))), Succ(Succ(Zero)), Succ(x127), Zero)))) 176.54/122.11 176.54/122.11 (4) (new_primModNatS02(x133, x132, x131, x130)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x131)))=x133 & Succ(Succ(Succ(x130)))=x132 & (\/x134:new_primModNatS02(x133, x132, x131, x130)=Succ(Succ(Succ(Succ(x134)))) & Succ(Succ(x131))=x133 & Succ(Succ(x130))=x132 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x130))))), Pos(Succ(Succ(Succ(Succ(x131))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x130))))), Pos(new_primModNatS02(Succ(Succ(x131)), Succ(Succ(x130)), x131, x130)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x130)))))), Pos(Succ(Succ(Succ(Succ(Succ(x131)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x130)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x131))), Succ(Succ(Succ(x130))), Succ(x131), Succ(x130))))) 176.54/122.11 176.54/122.11 (5) (new_primModNatS01(x136, x135)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x136 & Succ(Succ(Zero))=x135 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 (6) (Succ(Succ(x139))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x139 & Succ(Succ(Succ(x137)))=x138 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x137))), Zero, Succ(x137))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x129, x128)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: 176.54/122.11 176.54/122.11 (7) (new_primModNatS1(new_primMinusNatS0(Succ(x141), Succ(x140)), Succ(x140))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x127)))=x141 & Succ(Succ(Zero))=x140 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x127)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x127))), Succ(Succ(Zero)), Succ(x127), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (4) using rule (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (8) (new_primModNatS02(x133, x132, x131, x130)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x131)))=x133 & Succ(Succ(Succ(x130)))=x132 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x130)))))), Pos(Succ(Succ(Succ(Succ(Succ(x131)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x130)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x131))), Succ(Succ(Succ(x130))), Succ(x131), Succ(x130))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x136, x135)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: 176.54/122.11 176.54/122.11 (9) (new_primModNatS1(new_primMinusNatS0(Succ(x160), Succ(x159)), Succ(x159))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x160 & Succ(Succ(Zero))=x159 ==> 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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x137))), Zero, Succ(x137))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x127)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x127))), Succ(Succ(Zero)), Succ(x127), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x133, x132, x131, x130)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: 176.54/122.11 176.54/122.11 (12) (new_primModNatS01(x148, x147)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x146))))=x148 & Succ(Succ(Succ(Zero)))=x147 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x146)))), Succ(Succ(Succ(Zero))), Succ(Succ(x146)), Succ(Zero))))) 176.54/122.11 176.54/122.11 (13) (new_primModNatS02(x152, x151, x150, x149)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x150))))=x152 & Succ(Succ(Succ(Succ(x149))))=x151 & (\/x153:new_primModNatS02(x152, x151, x150, x149)=Succ(Succ(Succ(Succ(x153)))) & Succ(Succ(Succ(x150)))=x152 & Succ(Succ(Succ(x149)))=x151 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Succ(x150)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x150))), Succ(Succ(Succ(x149))), Succ(x150), Succ(x149))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x150)))), Succ(Succ(Succ(Succ(x149)))), Succ(Succ(x150)), Succ(Succ(x149)))))) 176.54/122.11 176.54/122.11 (14) (new_primModNatS01(x155, x154)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x155 & Succ(Succ(Succ(Zero)))=x154 ==> 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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 (15) (Succ(Succ(x158))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x158 & Succ(Succ(Succ(Succ(x156))))=x157 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x156)))), Succ(Zero), Succ(Succ(x156)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x146)))), Succ(Succ(Succ(Zero))), Succ(Succ(x146)), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x150)))), Succ(Succ(Succ(Succ(x149)))), Succ(Succ(x150)), Succ(Succ(x149)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (18) (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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x156)))), Succ(Zero), Succ(Succ(x156)))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (20) (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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 176.54/122.11 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), 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_primModNatS02(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: 176.54/122.11 176.54/122.11 (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), 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_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (2) (Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x165 & Pos(Zero)=x166 & new_primEqInt(x165, x166)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x165, x166)=False which results in the following new constraints: 176.54/122.11 176.54/122.11 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x167)) & Pos(Zero)=Pos(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 176.54/122.11 176.54/122.11 (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x169)) & Pos(Zero)=Pos(x168) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (5) (Succ(Succ(x30))=x170 & Succ(Succ(x31))=x171 & new_primModNatS02(x170, x171, x30, x31)=Succ(x169) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x170, x171, x30, x31)=Succ(x169) which results in the following new constraints: 176.54/122.11 176.54/122.11 (6) (new_primModNatS01(x174, x173)=Succ(x169) & Succ(Succ(Succ(x172)))=x174 & Succ(Succ(Zero))=x173 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Zero)), Succ(x172), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) 176.54/122.11 176.54/122.11 (7) (new_primModNatS02(x178, x177, x176, x175)=Succ(x169) & Succ(Succ(Succ(x176)))=x178 & Succ(Succ(Succ(x175)))=x177 & (\/x179:new_primModNatS02(x178, x177, x176, x175)=Succ(x179) & Succ(Succ(x176))=x178 & Succ(Succ(x175))=x177 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x176))))), Pos(Succ(Succ(Succ(Succ(x175))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x176)), Succ(Succ(x175)), x176, x175)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x176)))))), Pos(Succ(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x176))), Succ(Succ(Succ(x175))), Succ(x176), Succ(x175))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x175)))))), Neg(Succ(Succ(Succ(Succ(Succ(x176)))))))) 176.54/122.11 176.54/122.11 (8) (new_primModNatS01(x181, x180)=Succ(x169) & Succ(Succ(Zero))=x181 & Succ(Succ(Zero))=x180 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 (9) (Succ(Succ(x184))=Succ(x169) & Succ(Succ(Zero))=x184 & Succ(Succ(Succ(x182)))=x183 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x182))), Zero, Succ(x182))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x174, x173)=Succ(x169) which results in the following new constraint: 176.54/122.11 176.54/122.11 (10) (new_primModNatS1(new_primMinusNatS0(Succ(x186), Succ(x185)), Succ(x185))=Succ(x169) & Succ(Succ(Succ(x172)))=x186 & Succ(Succ(Zero))=x185 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Zero)), Succ(x172), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (7) using rule (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (11) (new_primModNatS02(x178, x177, x176, x175)=Succ(x169) & Succ(Succ(Succ(x176)))=x178 & Succ(Succ(Succ(x175)))=x177 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x176)))))), Pos(Succ(Succ(Succ(Succ(Succ(x175)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x176))), Succ(Succ(Succ(x175))), Succ(x176), Succ(x175))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x175)))))), Neg(Succ(Succ(Succ(Succ(Succ(x176)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x181, x180)=Succ(x169) which results in the following new constraint: 176.54/122.11 176.54/122.11 (12) (new_primModNatS1(new_primMinusNatS0(Succ(x205), Succ(x204)), Succ(x204))=Succ(x169) & Succ(Succ(Zero))=x205 & Succ(Succ(Zero))=x204 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x182))), Zero, Succ(x182))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Zero)), Succ(x172), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x178, x177, x176, x175)=Succ(x169) which results in the following new constraints: 176.54/122.11 176.54/122.11 (15) (new_primModNatS01(x193, x192)=Succ(x169) & Succ(Succ(Succ(Succ(x191))))=x193 & Succ(Succ(Succ(Zero)))=x192 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Zero))), Succ(Succ(x191)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) 176.54/122.11 176.54/122.11 (16) (new_primModNatS02(x197, x196, x195, x194)=Succ(x169) & Succ(Succ(Succ(Succ(x195))))=x197 & Succ(Succ(Succ(Succ(x194))))=x196 & (\/x198:new_primModNatS02(x197, x196, x195, x194)=Succ(x198) & Succ(Succ(Succ(x195)))=x197 & Succ(Succ(Succ(x194)))=x196 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x195)))))), Pos(Succ(Succ(Succ(Succ(Succ(x194)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x195))), Succ(Succ(Succ(x194))), Succ(x195), Succ(x194))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x194)))))), Neg(Succ(Succ(Succ(Succ(Succ(x195)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x195)))), Succ(Succ(Succ(Succ(x194)))), Succ(Succ(x195)), Succ(Succ(x194)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))))) 176.54/122.11 176.54/122.11 (17) (new_primModNatS01(x200, x199)=Succ(x169) & Succ(Succ(Succ(Zero)))=x200 & Succ(Succ(Succ(Zero)))=x199 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 (18) (Succ(Succ(x203))=Succ(x169) & Succ(Succ(Succ(Zero)))=x203 & Succ(Succ(Succ(Succ(x201))))=x202 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x201)))), Succ(Zero), Succ(Succ(x201)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Zero))), Succ(Succ(x191)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x195)))), Succ(Succ(Succ(Succ(x194)))), Succ(Succ(x195)), Succ(Succ(x194)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 176.54/122.11 176.54/122.11 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x201)))), Succ(Zero), Succ(Succ(x201)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 176.54/122.11 176.54/122.11 (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 To summarize, we get the following constraints P__>=_ for the following pairs. 176.54/122.11 176.54/122.11 *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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 176.54/122.11 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x116)))), Succ(Zero), Succ(Succ(x116)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x97))), Zero, Succ(x97))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x97)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x87)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x87))), Succ(Succ(Zero)), Succ(x87), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x87)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x106)))), Succ(Succ(Succ(Zero))), Succ(Succ(x106)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x110)))), Succ(Succ(Succ(Succ(x109)))), Succ(Succ(x110)), Succ(Succ(x109)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x109))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x110))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x156)))), Succ(Zero), Succ(Succ(x156)))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x137)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x137))), Zero, Succ(x137))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x127)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x127))), Succ(Succ(Zero)), Succ(x127), Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x146)))), Succ(Succ(Succ(Zero))), Succ(Succ(x146)), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x149))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x150)))), Succ(Succ(Succ(Succ(x149)))), Succ(Succ(x150)), Succ(Succ(x149)))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(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_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 176.54/122.11 176.54/122.11 176.54/122.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_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x201)))), Succ(Zero), Succ(Succ(x201)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x182))), Zero, Succ(x182))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Zero)), Succ(x172), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Zero))), Succ(Succ(x191)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x195)))), Succ(Succ(Succ(Succ(x194)))), Succ(Succ(x195)), Succ(Succ(x194)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x195))))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 176.54/122.11 176.54/122.11 176.54/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/122.11 176.54/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. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1272) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 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_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 176.54/122.11 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(vuz68000)) -> Succ(Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(vuz69000)), Succ(vuz68000)) -> new_primModNatS02(vuz69000, vuz68000, vuz69000, vuz68000) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS01(vuz158, vuz159) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz158), Succ(vuz159)), Succ(vuz159)) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Succ(vuz1600), Succ(vuz1610)) -> new_primModNatS02(vuz158, vuz159, vuz1600, vuz1610) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Zero) -> new_primModNatS01(vuz158, vuz159) 176.54/122.11 new_primModNatS02(vuz158, vuz159, Zero, Succ(vuz1610)) -> Succ(Succ(vuz158)) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primModNatS1(Zero, vuz6800) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 176.54/122.11 new_primEqInt(Pos(Succ(vuz2700)), Pos(Zero)) -> False 176.54/122.11 new_primEqInt(Neg(Succ(vuz2700)), Pos(vuz260)) -> False 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Zero)) 176.54/122.11 new_primModNatS1(Zero, x0) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 176.54/122.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 176.54/122.11 new_primModNatS1(Succ(Zero), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 new_primModNatS01(x0, x1) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Zero) 176.54/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Zero)) 176.54/122.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 176.54/122.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 176.54/122.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 176.54/122.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 176.54/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 176.54/122.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1273) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Succ(vuz56000)) -> new_primDivNatS0(vuz29000, vuz56000, vuz29000, vuz56000) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 176.54/122.11 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz29000), Zero) 176.54/122.11 new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1274) DependencyGraphProof (EQUIVALENT) 176.54/122.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1275) 176.54/122.11 Complex Obligation (AND) 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1276) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz29000), Zero) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1277) MRRProof (EQUIVALENT) 176.54/122.11 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. 176.54/122.11 176.54/122.11 Strictly oriented dependency pairs: 176.54/122.11 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz29000), Zero) 176.54/122.11 176.54/122.11 Strictly oriented rules of the TRS R: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 Used ordering: Polynomial interpretation [POLO]: 176.54/122.11 176.54/122.11 POL(Succ(x_1)) = 1 + 2*x_1 176.54/122.11 POL(Zero) = 1 176.54/122.11 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 176.54/122.11 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 176.54/122.11 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 176.54/122.11 POL(new_primMinusNatS2) = 2 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1278) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 P is empty. 176.54/122.11 R is empty. 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1279) PisEmptyProof (EQUIVALENT) 176.54/122.11 The TRS P is empty. Hence, there is no (P,Q,R) chain. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1280) 176.54/122.11 YES 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1281) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) 176.54/122.11 new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Succ(vuz56000)) -> new_primDivNatS0(vuz29000, vuz56000, vuz29000, vuz56000) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1282) QDPOrderProof (EQUIVALENT) 176.54/122.11 We use the reduction pair processor [LPAR04,JAR06]. 176.54/122.11 176.54/122.11 176.54/122.11 The following pairs can be oriented strictly and are deleted. 176.54/122.11 176.54/122.11 new_primDivNatS(Succ(Succ(vuz29000)), Succ(vuz56000)) -> new_primDivNatS0(vuz29000, vuz56000, vuz29000, vuz56000) 176.54/122.11 The remaining pairs can at least be oriented weakly. 176.54/122.11 Used ordering: Polynomial interpretation [POLO]: 176.54/122.11 176.54/122.11 POL(Succ(x_1)) = 1 + x_1 176.54/122.11 POL(Zero) = 1 176.54/122.11 POL(new_primDivNatS(x_1, x_2)) = x_1 176.54/122.11 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 176.54/122.11 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 176.54/122.11 POL(new_primMinusNatS0(x_1, x_2)) = x_1 176.54/122.11 176.54/122.11 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1283) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) 176.54/122.11 new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz97), Succ(vuz98)), Succ(vuz98)) 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1284) DependencyGraphProof (EQUIVALENT) 176.54/122.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1285) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 176.54/122.11 176.54/122.11 The TRS R consists of the following rules: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Zero, Succ(vuz890)) -> Zero 176.54/122.11 new_primMinusNatS0(Zero, Zero) -> Zero 176.54/122.11 new_primMinusNatS1(vuz29000) -> Succ(vuz29000) 176.54/122.11 new_primMinusNatS2 -> Zero 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Succ(vuz890)) -> new_primMinusNatS0(vuz880, vuz890) 176.54/122.11 new_primMinusNatS0(Succ(vuz880), Zero) -> Succ(vuz880) 176.54/122.11 176.54/122.11 The set Q consists of the following terms: 176.54/122.11 176.54/122.11 new_primMinusNatS0(Succ(x0), Succ(x1)) 176.54/122.11 new_primMinusNatS0(Zero, Zero) 176.54/122.11 new_primMinusNatS2 176.54/122.11 new_primMinusNatS1(x0) 176.54/122.11 new_primMinusNatS0(Succ(x0), Zero) 176.54/122.11 new_primMinusNatS0(Zero, Succ(x0)) 176.54/122.11 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1286) QDPSizeChangeProof (EQUIVALENT) 176.54/122.11 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. 176.54/122.11 176.54/122.11 From the DPs we obtained the following set of size-change graphs: 176.54/122.11 *new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 176.54/122.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1287) 176.54/122.11 YES 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1288) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_quot(vuz182, vuz183, Succ(vuz1840), Succ(vuz1850)) -> new_quot(vuz182, vuz183, vuz1840, vuz1850) 176.54/122.11 176.54/122.11 R is empty. 176.54/122.11 Q is empty. 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1289) QDPSizeChangeProof (EQUIVALENT) 176.54/122.11 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. 176.54/122.11 176.54/122.11 From the DPs we obtained the following set of size-change graphs: 176.54/122.11 *new_quot(vuz182, vuz183, Succ(vuz1840), Succ(vuz1850)) -> new_quot(vuz182, vuz183, vuz1840, vuz1850) 176.54/122.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1290) 176.54/122.11 YES 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1291) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_quot6(vuz141, vuz142, Succ(vuz1430), Succ(vuz1440), vuz145, vuz146) -> new_quot6(vuz141, vuz142, vuz1430, vuz1440, vuz145, vuz146) 176.54/122.11 176.54/122.11 R is empty. 176.54/122.11 Q is empty. 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1292) QDPSizeChangeProof (EQUIVALENT) 176.54/122.11 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. 176.54/122.11 176.54/122.11 From the DPs we obtained the following set of size-change graphs: 176.54/122.11 *new_quot6(vuz141, vuz142, Succ(vuz1430), Succ(vuz1440), vuz145, vuz146) -> new_quot6(vuz141, vuz142, vuz1430, vuz1440, vuz145, vuz146) 176.54/122.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4, 5 >= 5, 6 >= 6 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1293) 176.54/122.11 YES 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1294) 176.54/122.11 Obligation: 176.54/122.11 Q DP problem: 176.54/122.11 The TRS P consists of the following rules: 176.54/122.11 176.54/122.11 new_primEqNat(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat(vuz27000, vuz26000) 176.54/122.11 176.54/122.11 R is empty. 176.54/122.11 Q is empty. 176.54/122.11 We have to consider all minimal (P,Q,R)-chains. 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1295) QDPSizeChangeProof (EQUIVALENT) 176.54/122.11 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. 176.54/122.11 176.54/122.11 From the DPs we obtained the following set of size-change graphs: 176.54/122.11 *new_primEqNat(Succ(vuz27000), Succ(vuz26000)) -> new_primEqNat(vuz27000, vuz26000) 176.54/122.11 The graph contains the following edges 1 > 1, 2 > 2 176.54/122.11 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1296) 176.54/122.11 YES 176.54/122.11 176.54/122.11 ---------------------------------------- 176.54/122.11 176.54/122.11 (1297) Narrow (COMPLETE) 176.54/122.11 Haskell To QDPs 176.54/122.11 176.54/122.11 digraph dp_graph { 176.54/122.11 node [outthreshold=100, inthreshold=100];1[label="sum",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 176.54/122.11 3[label="sum vuz3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 176.54/122.11 4[label="foldl' (+) (fromInt (Pos Zero)) vuz3",fontsize=16,color="burlywood",shape="box"];3378[label="vuz3/vuz30 : vuz31",fontsize=10,color="white",style="solid",shape="box"];4 -> 3378[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3378 -> 5[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 3379[label="vuz3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 3379[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3379 -> 6[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 5[label="foldl' (+) (fromInt (Pos Zero)) (vuz30 : vuz31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 176.54/122.11 6[label="foldl' (+) (fromInt (Pos Zero)) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 176.54/122.11 7[label="(foldl' (+) $! (+) fromInt (Pos Zero) vuz30)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 176.54/122.11 8[label="fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3380[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];8 -> 3380[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3380 -> 10[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3381[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];8 -> 3381[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3381 -> 11[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3382[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];8 -> 3382[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3382 -> 12[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3383[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];8 -> 3383[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3383 -> 13[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3384[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3384[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3384 -> 14[label="",style="solid", color="blue", weight=3]; 176.54/122.11 9[label="((+) fromInt (Pos Zero) vuz30 `seq` foldl' (+) ((+) fromInt (Pos Zero) vuz30))",fontsize=16,color="black",shape="box"];9 -> 15[label="",style="solid", color="black", weight=3]; 176.54/122.11 10[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];10 -> 16[label="",style="solid", color="black", weight=3]; 176.54/122.11 11[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];11 -> 17[label="",style="solid", color="black", weight=3]; 176.54/122.11 12[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];12 -> 18[label="",style="solid", color="black", weight=3]; 176.54/122.11 13[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];13 -> 19[label="",style="solid", color="black", weight=3]; 176.54/122.11 14[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];14 -> 20[label="",style="solid", color="black", weight=3]; 176.54/122.11 15 -> 21[label="",style="dashed", color="red", weight=0]; 176.54/122.11 15[label="enforceWHNF (WHNF ((+) fromInt (Pos Zero) vuz30)) (foldl' (+) ((+) fromInt (Pos Zero) vuz30)) vuz31",fontsize=16,color="magenta"];15 -> 22[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 15 -> 23[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 16[label="primIntToFloat (Pos Zero)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 176.54/122.11 17[label="primIntToDouble (Pos Zero)",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 176.54/122.11 18[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];19[label="Pos Zero",fontsize=16,color="green",shape="box"];20[label="intToRatio (Pos Zero)",fontsize=16,color="black",shape="box"];20 -> 26[label="",style="solid", color="black", weight=3]; 176.54/122.11 22[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="blue",shape="box"];3385[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];22 -> 3385[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3385 -> 27[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3386[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];22 -> 3386[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3386 -> 28[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3387[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];22 -> 3387[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3387 -> 29[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3388[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];22 -> 3388[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3388 -> 30[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3389[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];22 -> 3389[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3389 -> 31[label="",style="solid", color="blue", weight=3]; 176.54/122.11 23[label="vuz31",fontsize=16,color="green",shape="box"];21[label="enforceWHNF (WHNF vuz7) (foldl' (+) vuz7) vuz8",fontsize=16,color="black",shape="triangle"];21 -> 32[label="",style="solid", color="black", weight=3]; 176.54/122.11 24[label="Float (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];25[label="Double (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26[label="fromInt (Pos Zero) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];26 -> 33[label="",style="dashed", color="green", weight=3]; 176.54/122.11 26 -> 34[label="",style="dashed", color="green", weight=3]; 176.54/122.11 27 -> 35[label="",style="dashed", color="red", weight=0]; 176.54/122.11 27[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];27 -> 36[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 28 -> 37[label="",style="dashed", color="red", weight=0]; 176.54/122.11 28[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];28 -> 38[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 29 -> 39[label="",style="dashed", color="red", weight=0]; 176.54/122.11 29[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];29 -> 40[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 30 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.11 30[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];30 -> 42[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 31 -> 43[label="",style="dashed", color="red", weight=0]; 176.54/122.11 31[label="(+) fromInt (Pos Zero) vuz30",fontsize=16,color="magenta"];31 -> 44[label="",style="dashed", color="magenta", weight=3]; 176.54/122.11 32[label="foldl' (+) vuz7 vuz8",fontsize=16,color="burlywood",shape="box"];3390[label="vuz8/vuz80 : vuz81",fontsize=10,color="white",style="solid",shape="box"];32 -> 3390[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3390 -> 45[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 3391[label="vuz8/[]",fontsize=10,color="white",style="solid",shape="box"];32 -> 3391[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3391 -> 46[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 33[label="fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3392[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];33 -> 3392[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3392 -> 47[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3393[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];33 -> 3393[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3393 -> 48[label="",style="solid", color="blue", weight=3]; 176.54/122.11 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];3394[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];34 -> 3394[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3394 -> 49[label="",style="solid", color="blue", weight=3]; 176.54/122.11 3395[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];34 -> 3395[label="",style="solid", color="blue", weight=9]; 176.54/122.11 3395 -> 50[label="",style="solid", color="blue", weight=3]; 176.54/122.11 36 -> 10[label="",style="dashed", color="red", weight=0]; 176.54/122.11 36[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];35[label="(+) vuz9 vuz30",fontsize=16,color="black",shape="triangle"];35 -> 51[label="",style="solid", color="black", weight=3]; 176.54/122.11 38 -> 11[label="",style="dashed", color="red", weight=0]; 176.54/122.11 38[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];37[label="(+) vuz10 vuz30",fontsize=16,color="black",shape="triangle"];37 -> 52[label="",style="solid", color="black", weight=3]; 176.54/122.11 40 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.11 40[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];39[label="(+) vuz11 vuz30",fontsize=16,color="burlywood",shape="triangle"];3396[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];39 -> 3396[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3396 -> 53[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 42 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.11 42[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];41[label="(+) vuz12 vuz30",fontsize=16,color="black",shape="triangle"];41 -> 54[label="",style="solid", color="black", weight=3]; 176.54/122.11 44 -> 14[label="",style="dashed", color="red", weight=0]; 176.54/122.11 44[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];43[label="(+) vuz13 vuz30",fontsize=16,color="burlywood",shape="triangle"];3397[label="vuz13/vuz130 :% vuz131",fontsize=10,color="white",style="solid",shape="box"];43 -> 3397[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3397 -> 55[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 45[label="foldl' (+) vuz7 (vuz80 : vuz81)",fontsize=16,color="black",shape="box"];45 -> 56[label="",style="solid", color="black", weight=3]; 176.54/122.11 46[label="foldl' (+) vuz7 []",fontsize=16,color="black",shape="box"];46 -> 57[label="",style="solid", color="black", weight=3]; 176.54/122.11 47 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.11 47[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];48 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.11 48[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];49[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];49 -> 58[label="",style="solid", color="black", weight=3]; 176.54/122.11 50[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];50 -> 59[label="",style="solid", color="black", weight=3]; 176.54/122.11 51[label="primPlusFloat vuz9 vuz30",fontsize=16,color="burlywood",shape="box"];3398[label="vuz9/Float vuz90 vuz91",fontsize=10,color="white",style="solid",shape="box"];51 -> 3398[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3398 -> 60[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 52[label="primPlusDouble vuz10 vuz30",fontsize=16,color="burlywood",shape="box"];3399[label="vuz10/Double vuz100 vuz101",fontsize=10,color="white",style="solid",shape="box"];52 -> 3399[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3399 -> 61[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 53[label="(+) Integer vuz110 vuz30",fontsize=16,color="burlywood",shape="box"];3400[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];53 -> 3400[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3400 -> 62[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 54[label="primPlusInt vuz12 vuz30",fontsize=16,color="burlywood",shape="triangle"];3401[label="vuz12/Pos vuz120",fontsize=10,color="white",style="solid",shape="box"];54 -> 3401[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3401 -> 63[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 3402[label="vuz12/Neg vuz120",fontsize=10,color="white",style="solid",shape="box"];54 -> 3402[label="",style="solid", color="burlywood", weight=9]; 176.54/122.11 3402 -> 64[label="",style="solid", color="burlywood", weight=3]; 176.54/122.11 55[label="(+) vuz130 :% vuz131 vuz30",fontsize=16,color="burlywood",shape="box"];3403[label="vuz30/vuz300 :% vuz301",fontsize=10,color="white",style="solid",shape="box"];55 -> 3403[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3403 -> 65[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 56[label="(foldl' (+) $! (+) vuz7 vuz80)",fontsize=16,color="black",shape="box"];56 -> 66[label="",style="solid", color="black", weight=3]; 176.54/122.12 57[label="vuz7",fontsize=16,color="green",shape="box"];58[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];59[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];60[label="primPlusFloat (Float vuz90 vuz91) vuz30",fontsize=16,color="burlywood",shape="box"];3404[label="vuz30/Float vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];60 -> 3404[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3404 -> 67[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 61[label="primPlusDouble (Double vuz100 vuz101) vuz30",fontsize=16,color="burlywood",shape="box"];3405[label="vuz30/Double vuz300 vuz301",fontsize=10,color="white",style="solid",shape="box"];61 -> 3405[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3405 -> 68[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 62[label="(+) Integer vuz110 Integer vuz300",fontsize=16,color="black",shape="box"];62 -> 69[label="",style="solid", color="black", weight=3]; 176.54/122.12 63[label="primPlusInt (Pos vuz120) vuz30",fontsize=16,color="burlywood",shape="box"];3406[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 3406[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3406 -> 70[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3407[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];63 -> 3407[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3407 -> 71[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 64[label="primPlusInt (Neg vuz120) vuz30",fontsize=16,color="burlywood",shape="box"];3408[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];64 -> 3408[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3408 -> 72[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3409[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];64 -> 3409[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3409 -> 73[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 65[label="(+) vuz130 :% vuz131 vuz300 :% vuz301",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 176.54/122.12 66[label="((+) vuz7 vuz80 `seq` foldl' (+) ((+) vuz7 vuz80))",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 176.54/122.12 67[label="primPlusFloat (Float vuz90 vuz91) (Float vuz300 vuz301)",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 176.54/122.12 68[label="primPlusDouble (Double vuz100 vuz101) (Double vuz300 vuz301)",fontsize=16,color="black",shape="box"];68 -> 77[label="",style="solid", color="black", weight=3]; 176.54/122.12 69[label="Integer (primPlusInt vuz110 vuz300)",fontsize=16,color="green",shape="box"];69 -> 78[label="",style="dashed", color="green", weight=3]; 176.54/122.12 70[label="primPlusInt (Pos vuz120) (Pos vuz300)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 176.54/122.12 71[label="primPlusInt (Pos vuz120) (Neg vuz300)",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 176.54/122.12 72[label="primPlusInt (Neg vuz120) (Pos vuz300)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 176.54/122.12 73[label="primPlusInt (Neg vuz120) (Neg vuz300)",fontsize=16,color="black",shape="box"];73 -> 82[label="",style="solid", color="black", weight=3]; 176.54/122.12 74[label="reduce (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301)",fontsize=16,color="black",shape="box"];74 -> 83[label="",style="solid", color="black", weight=3]; 176.54/122.12 75 -> 21[label="",style="dashed", color="red", weight=0]; 176.54/122.12 75[label="enforceWHNF (WHNF ((+) vuz7 vuz80)) (foldl' (+) ((+) vuz7 vuz80)) vuz81",fontsize=16,color="magenta"];75 -> 84[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 75 -> 85[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 76[label="Float (vuz90 * vuz301 + vuz300 * vuz91) (vuz91 * vuz301)",fontsize=16,color="green",shape="box"];76 -> 86[label="",style="dashed", color="green", weight=3]; 176.54/122.12 76 -> 87[label="",style="dashed", color="green", weight=3]; 176.54/122.12 77[label="Double (vuz100 * vuz301 + vuz300 * vuz101) (vuz101 * vuz301)",fontsize=16,color="green",shape="box"];77 -> 88[label="",style="dashed", color="green", weight=3]; 176.54/122.12 77 -> 89[label="",style="dashed", color="green", weight=3]; 176.54/122.12 78 -> 54[label="",style="dashed", color="red", weight=0]; 176.54/122.12 78[label="primPlusInt vuz110 vuz300",fontsize=16,color="magenta"];78 -> 90[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 78 -> 91[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 79[label="Pos (primPlusNat vuz120 vuz300)",fontsize=16,color="green",shape="box"];79 -> 92[label="",style="dashed", color="green", weight=3]; 176.54/122.12 80[label="primMinusNat vuz120 vuz300",fontsize=16,color="burlywood",shape="triangle"];3410[label="vuz120/Succ vuz1200",fontsize=10,color="white",style="solid",shape="box"];80 -> 3410[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3410 -> 93[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3411[label="vuz120/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 3411[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3411 -> 94[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 81 -> 80[label="",style="dashed", color="red", weight=0]; 176.54/122.12 81[label="primMinusNat vuz300 vuz120",fontsize=16,color="magenta"];81 -> 95[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 81 -> 96[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 82[label="Neg (primPlusNat vuz120 vuz300)",fontsize=16,color="green",shape="box"];82 -> 97[label="",style="dashed", color="green", weight=3]; 176.54/122.12 83[label="reduce2 (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301)",fontsize=16,color="black",shape="box"];83 -> 98[label="",style="solid", color="black", weight=3]; 176.54/122.12 84[label="(+) vuz7 vuz80",fontsize=16,color="blue",shape="box"];3412[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];84 -> 3412[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3412 -> 99[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3413[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];84 -> 3413[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3413 -> 100[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3414[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];84 -> 3414[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3414 -> 101[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3415[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];84 -> 3415[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3415 -> 102[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3416[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];84 -> 3416[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3416 -> 103[label="",style="solid", color="blue", weight=3]; 176.54/122.12 85[label="vuz81",fontsize=16,color="green",shape="box"];86 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 86[label="vuz90 * vuz301 + vuz300 * vuz91",fontsize=16,color="magenta"];86 -> 104[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 86 -> 105[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 87[label="vuz91 * vuz301",fontsize=16,color="black",shape="triangle"];87 -> 106[label="",style="solid", color="black", weight=3]; 176.54/122.12 88 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 88[label="vuz100 * vuz301 + vuz300 * vuz101",fontsize=16,color="magenta"];88 -> 107[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 88 -> 108[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 89 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 89[label="vuz101 * vuz301",fontsize=16,color="magenta"];89 -> 109[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 89 -> 110[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 90[label="vuz300",fontsize=16,color="green",shape="box"];91[label="vuz110",fontsize=16,color="green",shape="box"];92[label="primPlusNat vuz120 vuz300",fontsize=16,color="burlywood",shape="triangle"];3417[label="vuz120/Succ vuz1200",fontsize=10,color="white",style="solid",shape="box"];92 -> 3417[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3417 -> 111[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3418[label="vuz120/Zero",fontsize=10,color="white",style="solid",shape="box"];92 -> 3418[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3418 -> 112[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 93[label="primMinusNat (Succ vuz1200) vuz300",fontsize=16,color="burlywood",shape="box"];3419[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3419[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3419 -> 113[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3420[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3420[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3420 -> 114[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 94[label="primMinusNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];3421[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];94 -> 3421[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3421 -> 115[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3422[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];94 -> 3422[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3422 -> 116[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 95[label="vuz300",fontsize=16,color="green",shape="box"];96[label="vuz120",fontsize=16,color="green",shape="box"];97 -> 92[label="",style="dashed", color="red", weight=0]; 176.54/122.12 97[label="primPlusNat vuz120 vuz300",fontsize=16,color="magenta"];97 -> 117[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 97 -> 118[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 98 -> 119[label="",style="dashed", color="red", weight=0]; 176.54/122.12 98[label="reduce2Reduce1 (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301) (vuz130 * vuz301 + vuz300 * vuz131) (vuz131 * vuz301) (vuz131 * vuz301 == fromInt (Pos Zero))",fontsize=16,color="magenta"];98 -> 120[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 98 -> 121[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 98 -> 122[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 98 -> 123[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 98 -> 124[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 99 -> 35[label="",style="dashed", color="red", weight=0]; 176.54/122.12 99[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];99 -> 125[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 99 -> 126[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 100 -> 37[label="",style="dashed", color="red", weight=0]; 176.54/122.12 100[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 100 -> 128[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 101 -> 39[label="",style="dashed", color="red", weight=0]; 176.54/122.12 101[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];101 -> 129[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 101 -> 130[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 102 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 102[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];102 -> 131[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 102 -> 132[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 103 -> 43[label="",style="dashed", color="red", weight=0]; 176.54/122.12 103[label="(+) vuz7 vuz80",fontsize=16,color="magenta"];103 -> 133[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 103 -> 134[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 104 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 104[label="vuz300 * vuz91",fontsize=16,color="magenta"];104 -> 135[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 104 -> 136[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 105 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 105[label="vuz90 * vuz301",fontsize=16,color="magenta"];105 -> 137[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 106[label="primMulInt vuz91 vuz301",fontsize=16,color="burlywood",shape="triangle"];3423[label="vuz91/Pos vuz910",fontsize=10,color="white",style="solid",shape="box"];106 -> 3423[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3423 -> 138[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3424[label="vuz91/Neg vuz910",fontsize=10,color="white",style="solid",shape="box"];106 -> 3424[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3424 -> 139[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 107 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 107[label="vuz300 * vuz101",fontsize=16,color="magenta"];107 -> 140[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 107 -> 141[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 108 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 108[label="vuz100 * vuz301",fontsize=16,color="magenta"];108 -> 142[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 108 -> 143[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 109[label="vuz301",fontsize=16,color="green",shape="box"];110[label="vuz101",fontsize=16,color="green",shape="box"];111[label="primPlusNat (Succ vuz1200) vuz300",fontsize=16,color="burlywood",shape="box"];3425[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];111 -> 3425[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3425 -> 144[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3426[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];111 -> 3426[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3426 -> 145[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 112[label="primPlusNat Zero vuz300",fontsize=16,color="burlywood",shape="box"];3427[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];112 -> 3427[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3427 -> 146[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3428[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];112 -> 3428[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3428 -> 147[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 113[label="primMinusNat (Succ vuz1200) (Succ vuz3000)",fontsize=16,color="black",shape="box"];113 -> 148[label="",style="solid", color="black", weight=3]; 176.54/122.12 114[label="primMinusNat (Succ vuz1200) Zero",fontsize=16,color="black",shape="box"];114 -> 149[label="",style="solid", color="black", weight=3]; 176.54/122.12 115[label="primMinusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];115 -> 150[label="",style="solid", color="black", weight=3]; 176.54/122.12 116[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];116 -> 151[label="",style="solid", color="black", weight=3]; 176.54/122.12 117[label="vuz120",fontsize=16,color="green",shape="box"];118[label="vuz300",fontsize=16,color="green",shape="box"];120[label="vuz301",fontsize=16,color="green",shape="box"];121[label="vuz131",fontsize=16,color="green",shape="box"];122[label="vuz130",fontsize=16,color="green",shape="box"];123[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];3429[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];123 -> 3429[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3429 -> 152[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3430[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];123 -> 3430[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3430 -> 153[label="",style="solid", color="blue", weight=3]; 176.54/122.12 124[label="vuz300",fontsize=16,color="green",shape="box"];119[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];3431[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];119 -> 3431[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3431 -> 154[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3432[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];119 -> 3432[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3432 -> 155[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 125[label="vuz7",fontsize=16,color="green",shape="box"];126[label="vuz80",fontsize=16,color="green",shape="box"];127[label="vuz80",fontsize=16,color="green",shape="box"];128[label="vuz7",fontsize=16,color="green",shape="box"];129[label="vuz7",fontsize=16,color="green",shape="box"];130[label="vuz80",fontsize=16,color="green",shape="box"];131[label="vuz80",fontsize=16,color="green",shape="box"];132[label="vuz7",fontsize=16,color="green",shape="box"];133[label="vuz80",fontsize=16,color="green",shape="box"];134[label="vuz7",fontsize=16,color="green",shape="box"];135[label="vuz91",fontsize=16,color="green",shape="box"];136[label="vuz300",fontsize=16,color="green",shape="box"];137[label="vuz90",fontsize=16,color="green",shape="box"];138[label="primMulInt (Pos vuz910) vuz301",fontsize=16,color="burlywood",shape="box"];3433[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];138 -> 3433[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3433 -> 156[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3434[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];138 -> 3434[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3434 -> 157[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 139[label="primMulInt (Neg vuz910) vuz301",fontsize=16,color="burlywood",shape="box"];3435[label="vuz301/Pos vuz3010",fontsize=10,color="white",style="solid",shape="box"];139 -> 3435[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3435 -> 158[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3436[label="vuz301/Neg vuz3010",fontsize=10,color="white",style="solid",shape="box"];139 -> 3436[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3436 -> 159[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 140[label="vuz101",fontsize=16,color="green",shape="box"];141[label="vuz300",fontsize=16,color="green",shape="box"];142[label="vuz301",fontsize=16,color="green",shape="box"];143[label="vuz100",fontsize=16,color="green",shape="box"];144[label="primPlusNat (Succ vuz1200) (Succ vuz3000)",fontsize=16,color="black",shape="box"];144 -> 160[label="",style="solid", color="black", weight=3]; 176.54/122.12 145[label="primPlusNat (Succ vuz1200) Zero",fontsize=16,color="black",shape="box"];145 -> 161[label="",style="solid", color="black", weight=3]; 176.54/122.12 146[label="primPlusNat Zero (Succ vuz3000)",fontsize=16,color="black",shape="box"];146 -> 162[label="",style="solid", color="black", weight=3]; 176.54/122.12 147[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 163[label="",style="solid", color="black", weight=3]; 176.54/122.12 148 -> 80[label="",style="dashed", color="red", weight=0]; 176.54/122.12 148[label="primMinusNat vuz1200 vuz3000",fontsize=16,color="magenta"];148 -> 164[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 148 -> 165[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 149[label="Pos (Succ vuz1200)",fontsize=16,color="green",shape="box"];150[label="Neg (Succ vuz3000)",fontsize=16,color="green",shape="box"];151[label="Pos Zero",fontsize=16,color="green",shape="box"];152 -> 166[label="",style="dashed", color="red", weight=0]; 176.54/122.12 152[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];152 -> 167[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 153 -> 168[label="",style="dashed", color="red", weight=0]; 176.54/122.12 153[label="vuz131 * vuz301 == fromInt (Pos Zero)",fontsize=16,color="magenta"];153 -> 169[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 153 -> 170[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 154[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];154 -> 171[label="",style="solid", color="black", weight=3]; 176.54/122.12 155[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];155 -> 172[label="",style="solid", color="black", weight=3]; 176.54/122.12 156[label="primMulInt (Pos vuz910) (Pos vuz3010)",fontsize=16,color="black",shape="box"];156 -> 173[label="",style="solid", color="black", weight=3]; 176.54/122.12 157[label="primMulInt (Pos vuz910) (Neg vuz3010)",fontsize=16,color="black",shape="box"];157 -> 174[label="",style="solid", color="black", weight=3]; 176.54/122.12 158[label="primMulInt (Neg vuz910) (Pos vuz3010)",fontsize=16,color="black",shape="box"];158 -> 175[label="",style="solid", color="black", weight=3]; 176.54/122.12 159[label="primMulInt (Neg vuz910) (Neg vuz3010)",fontsize=16,color="black",shape="box"];159 -> 176[label="",style="solid", color="black", weight=3]; 176.54/122.12 160[label="Succ (Succ (primPlusNat vuz1200 vuz3000))",fontsize=16,color="green",shape="box"];160 -> 177[label="",style="dashed", color="green", weight=3]; 176.54/122.12 161[label="Succ vuz1200",fontsize=16,color="green",shape="box"];162[label="Succ vuz3000",fontsize=16,color="green",shape="box"];163[label="Zero",fontsize=16,color="green",shape="box"];164[label="vuz1200",fontsize=16,color="green",shape="box"];165[label="vuz3000",fontsize=16,color="green",shape="box"];167 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 167[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];166[label="vuz131 * vuz301 == vuz25",fontsize=16,color="burlywood",shape="triangle"];3437[label="vuz131/Integer vuz1310",fontsize=10,color="white",style="solid",shape="box"];166 -> 3437[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3437 -> 178[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 169 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 169[label="vuz131 * vuz301",fontsize=16,color="magenta"];169 -> 179[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 169 -> 180[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 170 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 170[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];168[label="vuz27 == vuz26",fontsize=16,color="black",shape="triangle"];168 -> 181[label="",style="solid", color="black", weight=3]; 176.54/122.12 171[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];171 -> 182[label="",style="solid", color="black", weight=3]; 176.54/122.12 172[label="error []",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 176.54/122.12 173[label="Pos (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];173 -> 184[label="",style="dashed", color="green", weight=3]; 176.54/122.12 174[label="Neg (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];174 -> 185[label="",style="dashed", color="green", weight=3]; 176.54/122.12 175[label="Neg (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];175 -> 186[label="",style="dashed", color="green", weight=3]; 176.54/122.12 176[label="Pos (primMulNat vuz910 vuz3010)",fontsize=16,color="green",shape="box"];176 -> 187[label="",style="dashed", color="green", weight=3]; 176.54/122.12 177 -> 92[label="",style="dashed", color="red", weight=0]; 176.54/122.12 177[label="primPlusNat vuz1200 vuz3000",fontsize=16,color="magenta"];177 -> 188[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 177 -> 189[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 178[label="Integer vuz1310 * vuz301 == vuz25",fontsize=16,color="burlywood",shape="box"];3438[label="vuz301/Integer vuz3010",fontsize=10,color="white",style="solid",shape="box"];178 -> 3438[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3438 -> 190[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 179[label="vuz301",fontsize=16,color="green",shape="box"];180[label="vuz131",fontsize=16,color="green",shape="box"];181[label="primEqInt vuz27 vuz26",fontsize=16,color="burlywood",shape="triangle"];3439[label="vuz27/Pos vuz270",fontsize=10,color="white",style="solid",shape="box"];181 -> 3439[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3439 -> 191[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3440[label="vuz27/Neg vuz270",fontsize=10,color="white",style="solid",shape="box"];181 -> 3440[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3440 -> 192[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 182[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];182 -> 193[label="",style="solid", color="black", weight=3]; 176.54/122.12 183[label="error []",fontsize=16,color="red",shape="box"];184[label="primMulNat vuz910 vuz3010",fontsize=16,color="burlywood",shape="triangle"];3441[label="vuz910/Succ vuz9100",fontsize=10,color="white",style="solid",shape="box"];184 -> 3441[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3441 -> 194[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3442[label="vuz910/Zero",fontsize=10,color="white",style="solid",shape="box"];184 -> 3442[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3442 -> 195[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 185 -> 184[label="",style="dashed", color="red", weight=0]; 176.54/122.12 185[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];185 -> 196[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 186 -> 184[label="",style="dashed", color="red", weight=0]; 176.54/122.12 186[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];186 -> 197[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 187 -> 184[label="",style="dashed", color="red", weight=0]; 176.54/122.12 187[label="primMulNat vuz910 vuz3010",fontsize=16,color="magenta"];187 -> 198[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 187 -> 199[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 188[label="vuz1200",fontsize=16,color="green",shape="box"];189[label="vuz3000",fontsize=16,color="green",shape="box"];190[label="Integer vuz1310 * Integer vuz3010 == vuz25",fontsize=16,color="black",shape="box"];190 -> 200[label="",style="solid", color="black", weight=3]; 176.54/122.12 191[label="primEqInt (Pos vuz270) vuz26",fontsize=16,color="burlywood",shape="box"];3443[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];191 -> 3443[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3443 -> 201[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3444[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3444[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3444 -> 202[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 192[label="primEqInt (Neg vuz270) vuz26",fontsize=16,color="burlywood",shape="box"];3445[label="vuz270/Succ vuz2700",fontsize=10,color="white",style="solid",shape="box"];192 -> 3445[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3445 -> 203[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3446[label="vuz270/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3446[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3446 -> 204[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 193[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];193 -> 205[label="",style="dashed", color="green", weight=3]; 176.54/122.12 193 -> 206[label="",style="dashed", color="green", weight=3]; 176.54/122.12 194[label="primMulNat (Succ vuz9100) vuz3010",fontsize=16,color="burlywood",shape="box"];3447[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];194 -> 3447[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3447 -> 207[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3448[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];194 -> 3448[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3448 -> 208[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 195[label="primMulNat Zero vuz3010",fontsize=16,color="burlywood",shape="box"];3449[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];195 -> 3449[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3449 -> 209[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3450[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];195 -> 3450[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3450 -> 210[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 196[label="vuz3010",fontsize=16,color="green",shape="box"];197[label="vuz910",fontsize=16,color="green",shape="box"];198[label="vuz910",fontsize=16,color="green",shape="box"];199[label="vuz3010",fontsize=16,color="green",shape="box"];200 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 200[label="Integer (primMulInt vuz1310 vuz3010) == vuz25",fontsize=16,color="magenta"];200 -> 212[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 201[label="primEqInt (Pos (Succ vuz2700)) vuz26",fontsize=16,color="burlywood",shape="box"];3451[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];201 -> 3451[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3451 -> 213[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3452[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];201 -> 3452[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3452 -> 214[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 202[label="primEqInt (Pos Zero) vuz26",fontsize=16,color="burlywood",shape="box"];3453[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];202 -> 3453[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3453 -> 215[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3454[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];202 -> 3454[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3454 -> 216[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 203[label="primEqInt (Neg (Succ vuz2700)) vuz26",fontsize=16,color="burlywood",shape="box"];3455[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];203 -> 3455[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3455 -> 217[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3456[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];203 -> 3456[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3456 -> 218[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 204[label="primEqInt (Neg Zero) vuz26",fontsize=16,color="burlywood",shape="box"];3457[label="vuz26/Pos vuz260",fontsize=10,color="white",style="solid",shape="box"];204 -> 3457[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3457 -> 219[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3458[label="vuz26/Neg vuz260",fontsize=10,color="white",style="solid",shape="box"];204 -> 3458[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3458 -> 220[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 205[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];3459[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];205 -> 3459[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3459 -> 221[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3460[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];205 -> 3460[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3460 -> 222[label="",style="solid", color="blue", weight=3]; 176.54/122.12 206[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];3461[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];206 -> 3461[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3461 -> 223[label="",style="solid", color="blue", weight=3]; 176.54/122.12 3462[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];206 -> 3462[label="",style="solid", color="blue", weight=9]; 176.54/122.12 3462 -> 224[label="",style="solid", color="blue", weight=3]; 176.54/122.12 207[label="primMulNat (Succ vuz9100) (Succ vuz30100)",fontsize=16,color="black",shape="box"];207 -> 225[label="",style="solid", color="black", weight=3]; 176.54/122.12 208[label="primMulNat (Succ vuz9100) Zero",fontsize=16,color="black",shape="box"];208 -> 226[label="",style="solid", color="black", weight=3]; 176.54/122.12 209[label="primMulNat Zero (Succ vuz30100)",fontsize=16,color="black",shape="box"];209 -> 227[label="",style="solid", color="black", weight=3]; 176.54/122.12 210[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];210 -> 228[label="",style="solid", color="black", weight=3]; 176.54/122.12 212 -> 106[label="",style="dashed", color="red", weight=0]; 176.54/122.12 212[label="primMulInt vuz1310 vuz3010",fontsize=16,color="magenta"];212 -> 229[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 212 -> 230[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 211[label="Integer vuz28 == vuz25",fontsize=16,color="burlywood",shape="triangle"];3463[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];211 -> 3463[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3463 -> 231[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 213[label="primEqInt (Pos (Succ vuz2700)) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3464[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];213 -> 3464[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3464 -> 232[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3465[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];213 -> 3465[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3465 -> 233[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 214[label="primEqInt (Pos (Succ vuz2700)) (Neg vuz260)",fontsize=16,color="black",shape="box"];214 -> 234[label="",style="solid", color="black", weight=3]; 176.54/122.12 215[label="primEqInt (Pos Zero) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3466[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];215 -> 3466[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3466 -> 235[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3467[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];215 -> 3467[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3467 -> 236[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 216[label="primEqInt (Pos Zero) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3468[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];216 -> 3468[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3468 -> 237[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3469[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];216 -> 3469[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3469 -> 238[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 217[label="primEqInt (Neg (Succ vuz2700)) (Pos vuz260)",fontsize=16,color="black",shape="box"];217 -> 239[label="",style="solid", color="black", weight=3]; 176.54/122.12 218[label="primEqInt (Neg (Succ vuz2700)) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3470[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];218 -> 3470[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3470 -> 240[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3471[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];218 -> 3471[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3471 -> 241[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 219[label="primEqInt (Neg Zero) (Pos vuz260)",fontsize=16,color="burlywood",shape="box"];3472[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];219 -> 3472[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3472 -> 242[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3473[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];219 -> 3473[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3473 -> 243[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 220[label="primEqInt (Neg Zero) (Neg vuz260)",fontsize=16,color="burlywood",shape="box"];3474[label="vuz260/Succ vuz2600",fontsize=10,color="white",style="solid",shape="box"];220 -> 3474[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3474 -> 244[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3475[label="vuz260/Zero",fontsize=10,color="white",style="solid",shape="box"];220 -> 3475[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3475 -> 245[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 221 -> 246[label="",style="dashed", color="red", weight=0]; 176.54/122.12 221[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];221 -> 247[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 221 -> 248[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 221 -> 249[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 222 -> 253[label="",style="dashed", color="red", weight=0]; 176.54/122.12 222[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];222 -> 254[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 222 -> 255[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 223 -> 246[label="",style="dashed", color="red", weight=0]; 176.54/122.12 223[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];223 -> 250[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 223 -> 251[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 223 -> 252[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 224 -> 253[label="",style="dashed", color="red", weight=0]; 176.54/122.12 224[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];224 -> 256[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 224 -> 257[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 225 -> 92[label="",style="dashed", color="red", weight=0]; 176.54/122.12 225[label="primPlusNat (primMulNat vuz9100 (Succ vuz30100)) (Succ vuz30100)",fontsize=16,color="magenta"];225 -> 258[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 225 -> 259[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 226[label="Zero",fontsize=16,color="green",shape="box"];227[label="Zero",fontsize=16,color="green",shape="box"];228[label="Zero",fontsize=16,color="green",shape="box"];229[label="vuz3010",fontsize=16,color="green",shape="box"];230[label="vuz1310",fontsize=16,color="green",shape="box"];231[label="Integer vuz28 == Integer vuz250",fontsize=16,color="black",shape="box"];231 -> 260[label="",style="solid", color="black", weight=3]; 176.54/122.12 232[label="primEqInt (Pos (Succ vuz2700)) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];232 -> 261[label="",style="solid", color="black", weight=3]; 176.54/122.12 233[label="primEqInt (Pos (Succ vuz2700)) (Pos Zero)",fontsize=16,color="black",shape="box"];233 -> 262[label="",style="solid", color="black", weight=3]; 176.54/122.12 234[label="False",fontsize=16,color="green",shape="box"];235[label="primEqInt (Pos Zero) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];235 -> 263[label="",style="solid", color="black", weight=3]; 176.54/122.12 236[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];236 -> 264[label="",style="solid", color="black", weight=3]; 176.54/122.12 237[label="primEqInt (Pos Zero) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];237 -> 265[label="",style="solid", color="black", weight=3]; 176.54/122.12 238[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];238 -> 266[label="",style="solid", color="black", weight=3]; 176.54/122.12 239[label="False",fontsize=16,color="green",shape="box"];240[label="primEqInt (Neg (Succ vuz2700)) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];240 -> 267[label="",style="solid", color="black", weight=3]; 176.54/122.12 241[label="primEqInt (Neg (Succ vuz2700)) (Neg Zero)",fontsize=16,color="black",shape="box"];241 -> 268[label="",style="solid", color="black", weight=3]; 176.54/122.12 242[label="primEqInt (Neg Zero) (Pos (Succ vuz2600))",fontsize=16,color="black",shape="box"];242 -> 269[label="",style="solid", color="black", weight=3]; 176.54/122.12 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];243 -> 270[label="",style="solid", color="black", weight=3]; 176.54/122.12 244[label="primEqInt (Neg Zero) (Neg (Succ vuz2600))",fontsize=16,color="black",shape="box"];244 -> 271[label="",style="solid", color="black", weight=3]; 176.54/122.12 245[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];245 -> 272[label="",style="solid", color="black", weight=3]; 176.54/122.12 247 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 247[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];247 -> 273[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 247 -> 274[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 248 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 248[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];248 -> 275[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 248 -> 276[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 249 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 249[label="vuz23 * vuz21",fontsize=16,color="magenta"];249 -> 277[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 249 -> 278[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 246[label="vuz29 `quot` reduce2D vuz31 vuz30",fontsize=16,color="black",shape="triangle"];246 -> 279[label="",style="solid", color="black", weight=3]; 176.54/122.12 254 -> 39[label="",style="dashed", color="red", weight=0]; 176.54/122.12 254[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];254 -> 280[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 254 -> 281[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 255 -> 39[label="",style="dashed", color="red", weight=0]; 176.54/122.12 255[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];255 -> 282[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 255 -> 283[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 253[label="vuz36 `quot` reduce2D vuz37 (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="triangle"];3476[label="vuz36/Integer vuz360",fontsize=10,color="white",style="solid",shape="box"];253 -> 3476[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3476 -> 284[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 250 -> 41[label="",style="dashed", color="red", weight=0]; 176.54/122.12 250[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];250 -> 285[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 250 -> 286[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 251 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 251[label="vuz23 * vuz21",fontsize=16,color="magenta"];251 -> 287[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 251 -> 288[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 252 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 252[label="vuz23 * vuz21",fontsize=16,color="magenta"];252 -> 289[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 252 -> 290[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 256 -> 39[label="",style="dashed", color="red", weight=0]; 176.54/122.12 256[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];256 -> 291[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 256 -> 292[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 257[label="vuz23 * vuz21",fontsize=16,color="burlywood",shape="triangle"];3477[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];257 -> 3477[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3477 -> 293[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 258 -> 184[label="",style="dashed", color="red", weight=0]; 176.54/122.12 258[label="primMulNat vuz9100 (Succ vuz30100)",fontsize=16,color="magenta"];258 -> 294[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 258 -> 295[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 259[label="Succ vuz30100",fontsize=16,color="green",shape="box"];260 -> 181[label="",style="dashed", color="red", weight=0]; 176.54/122.12 260[label="primEqInt vuz28 vuz250",fontsize=16,color="magenta"];260 -> 296[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 260 -> 297[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 261[label="primEqNat vuz2700 vuz2600",fontsize=16,color="burlywood",shape="triangle"];3478[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];261 -> 3478[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3478 -> 298[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3479[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];261 -> 3479[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3479 -> 299[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 262[label="False",fontsize=16,color="green",shape="box"];263[label="False",fontsize=16,color="green",shape="box"];264[label="True",fontsize=16,color="green",shape="box"];265[label="False",fontsize=16,color="green",shape="box"];266[label="True",fontsize=16,color="green",shape="box"];267 -> 261[label="",style="dashed", color="red", weight=0]; 176.54/122.12 267[label="primEqNat vuz2700 vuz2600",fontsize=16,color="magenta"];267 -> 300[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 267 -> 301[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 268[label="False",fontsize=16,color="green",shape="box"];269[label="False",fontsize=16,color="green",shape="box"];270[label="True",fontsize=16,color="green",shape="box"];271[label="False",fontsize=16,color="green",shape="box"];272[label="True",fontsize=16,color="green",shape="box"];273 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 273[label="vuz22 * vuz23",fontsize=16,color="magenta"];273 -> 302[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 273 -> 303[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 274 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 274[label="vuz20 * vuz21",fontsize=16,color="magenta"];274 -> 304[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 274 -> 305[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 275 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 275[label="vuz22 * vuz23",fontsize=16,color="magenta"];275 -> 306[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 275 -> 307[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 276 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 276[label="vuz20 * vuz21",fontsize=16,color="magenta"];276 -> 308[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 276 -> 309[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 277[label="vuz21",fontsize=16,color="green",shape="box"];278[label="vuz23",fontsize=16,color="green",shape="box"];279[label="primQuotInt vuz29 (reduce2D vuz31 vuz30)",fontsize=16,color="burlywood",shape="box"];3480[label="vuz29/Pos vuz290",fontsize=10,color="white",style="solid",shape="box"];279 -> 3480[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3480 -> 310[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3481[label="vuz29/Neg vuz290",fontsize=10,color="white",style="solid",shape="box"];279 -> 3481[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3481 -> 311[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 280 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 280[label="vuz20 * vuz21",fontsize=16,color="magenta"];280 -> 312[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 281 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 281[label="vuz22 * vuz23",fontsize=16,color="magenta"];281 -> 313[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 281 -> 314[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 282 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 282[label="vuz20 * vuz21",fontsize=16,color="magenta"];282 -> 315[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 283 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 283[label="vuz22 * vuz23",fontsize=16,color="magenta"];283 -> 316[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 283 -> 317[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 284[label="Integer vuz360 `quot` reduce2D vuz37 (vuz23 * vuz21)",fontsize=16,color="black",shape="box"];284 -> 318[label="",style="solid", color="black", weight=3]; 176.54/122.12 285 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 285[label="vuz22 * vuz23",fontsize=16,color="magenta"];285 -> 319[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 285 -> 320[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 286 -> 87[label="",style="dashed", color="red", weight=0]; 176.54/122.12 286[label="vuz20 * vuz21",fontsize=16,color="magenta"];286 -> 321[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 286 -> 322[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 287[label="vuz21",fontsize=16,color="green",shape="box"];288[label="vuz23",fontsize=16,color="green",shape="box"];289[label="vuz21",fontsize=16,color="green",shape="box"];290[label="vuz23",fontsize=16,color="green",shape="box"];291 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 291[label="vuz20 * vuz21",fontsize=16,color="magenta"];291 -> 323[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 292 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 292[label="vuz22 * vuz23",fontsize=16,color="magenta"];292 -> 324[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 292 -> 325[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 293[label="Integer vuz230 * vuz21",fontsize=16,color="burlywood",shape="box"];3482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];293 -> 3482[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3482 -> 326[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 294[label="vuz9100",fontsize=16,color="green",shape="box"];295[label="Succ vuz30100",fontsize=16,color="green",shape="box"];296[label="vuz28",fontsize=16,color="green",shape="box"];297[label="vuz250",fontsize=16,color="green",shape="box"];298[label="primEqNat (Succ vuz27000) vuz2600",fontsize=16,color="burlywood",shape="box"];3483[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];298 -> 3483[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3483 -> 327[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3484[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];298 -> 3484[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3484 -> 328[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 299[label="primEqNat Zero vuz2600",fontsize=16,color="burlywood",shape="box"];3485[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];299 -> 3485[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3485 -> 329[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3486[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];299 -> 3486[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3486 -> 330[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 300[label="vuz2700",fontsize=16,color="green",shape="box"];301[label="vuz2600",fontsize=16,color="green",shape="box"];302[label="vuz23",fontsize=16,color="green",shape="box"];303[label="vuz22",fontsize=16,color="green",shape="box"];304[label="vuz21",fontsize=16,color="green",shape="box"];305[label="vuz20",fontsize=16,color="green",shape="box"];306[label="vuz23",fontsize=16,color="green",shape="box"];307[label="vuz22",fontsize=16,color="green",shape="box"];308[label="vuz21",fontsize=16,color="green",shape="box"];309[label="vuz20",fontsize=16,color="green",shape="box"];310[label="primQuotInt (Pos vuz290) (reduce2D vuz31 vuz30)",fontsize=16,color="black",shape="box"];310 -> 331[label="",style="solid", color="black", weight=3]; 176.54/122.12 311[label="primQuotInt (Neg vuz290) (reduce2D vuz31 vuz30)",fontsize=16,color="black",shape="box"];311 -> 332[label="",style="solid", color="black", weight=3]; 176.54/122.12 312[label="vuz20",fontsize=16,color="green",shape="box"];313[label="vuz23",fontsize=16,color="green",shape="box"];314[label="vuz22",fontsize=16,color="green",shape="box"];315[label="vuz20",fontsize=16,color="green",shape="box"];316[label="vuz23",fontsize=16,color="green",shape="box"];317[label="vuz22",fontsize=16,color="green",shape="box"];318 -> 333[label="",style="dashed", color="red", weight=0]; 176.54/122.12 318[label="Integer vuz360 `quot` gcd vuz37 (vuz23 * vuz21)",fontsize=16,color="magenta"];318 -> 334[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 319[label="vuz23",fontsize=16,color="green",shape="box"];320[label="vuz22",fontsize=16,color="green",shape="box"];321[label="vuz21",fontsize=16,color="green",shape="box"];322[label="vuz20",fontsize=16,color="green",shape="box"];323[label="vuz20",fontsize=16,color="green",shape="box"];324[label="vuz23",fontsize=16,color="green",shape="box"];325[label="vuz22",fontsize=16,color="green",shape="box"];326[label="Integer vuz230 * Integer vuz210",fontsize=16,color="black",shape="box"];326 -> 335[label="",style="solid", color="black", weight=3]; 176.54/122.12 327[label="primEqNat (Succ vuz27000) (Succ vuz26000)",fontsize=16,color="black",shape="box"];327 -> 336[label="",style="solid", color="black", weight=3]; 176.54/122.12 328[label="primEqNat (Succ vuz27000) Zero",fontsize=16,color="black",shape="box"];328 -> 337[label="",style="solid", color="black", weight=3]; 176.54/122.12 329[label="primEqNat Zero (Succ vuz26000)",fontsize=16,color="black",shape="box"];329 -> 338[label="",style="solid", color="black", weight=3]; 176.54/122.12 330[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];330 -> 339[label="",style="solid", color="black", weight=3]; 176.54/122.12 331 -> 430[label="",style="dashed", color="red", weight=0]; 176.54/122.12 331[label="primQuotInt (Pos vuz290) (gcd vuz31 vuz30)",fontsize=16,color="magenta"];331 -> 431[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 332 -> 458[label="",style="dashed", color="red", weight=0]; 176.54/122.12 332[label="primQuotInt (Neg vuz290) (gcd vuz31 vuz30)",fontsize=16,color="magenta"];332 -> 459[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 334 -> 257[label="",style="dashed", color="red", weight=0]; 176.54/122.12 334[label="vuz23 * vuz21",fontsize=16,color="magenta"];333[label="Integer vuz360 `quot` gcd vuz37 vuz38",fontsize=16,color="black",shape="triangle"];333 -> 342[label="",style="solid", color="black", weight=3]; 176.54/122.12 335[label="Integer (primMulInt vuz230 vuz210)",fontsize=16,color="green",shape="box"];335 -> 343[label="",style="dashed", color="green", weight=3]; 176.54/122.12 336 -> 261[label="",style="dashed", color="red", weight=0]; 176.54/122.12 336[label="primEqNat vuz27000 vuz26000",fontsize=16,color="magenta"];336 -> 344[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 336 -> 345[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 337[label="False",fontsize=16,color="green",shape="box"];338[label="False",fontsize=16,color="green",shape="box"];339[label="True",fontsize=16,color="green",shape="box"];431[label="gcd vuz31 vuz30",fontsize=16,color="black",shape="triangle"];431 -> 447[label="",style="solid", color="black", weight=3]; 176.54/122.12 430[label="primQuotInt (Pos vuz290) vuz56",fontsize=16,color="burlywood",shape="triangle"];3487[label="vuz56/Pos vuz560",fontsize=10,color="white",style="solid",shape="box"];430 -> 3487[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3487 -> 448[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3488[label="vuz56/Neg vuz560",fontsize=10,color="white",style="solid",shape="box"];430 -> 3488[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3488 -> 449[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 459 -> 431[label="",style="dashed", color="red", weight=0]; 176.54/122.12 459[label="gcd vuz31 vuz30",fontsize=16,color="magenta"];458[label="primQuotInt (Neg vuz290) vuz59",fontsize=16,color="burlywood",shape="triangle"];3489[label="vuz59/Pos vuz590",fontsize=10,color="white",style="solid",shape="box"];458 -> 3489[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3489 -> 475[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3490[label="vuz59/Neg vuz590",fontsize=10,color="white",style="solid",shape="box"];458 -> 3490[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3490 -> 476[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 342[label="Integer vuz360 `quot` gcd3 vuz37 vuz38",fontsize=16,color="black",shape="box"];342 -> 348[label="",style="solid", color="black", weight=3]; 176.54/122.12 343 -> 106[label="",style="dashed", color="red", weight=0]; 176.54/122.12 343[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];343 -> 349[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 343 -> 350[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 344[label="vuz27000",fontsize=16,color="green",shape="box"];345[label="vuz26000",fontsize=16,color="green",shape="box"];447[label="gcd3 vuz31 vuz30",fontsize=16,color="black",shape="box"];447 -> 453[label="",style="solid", color="black", weight=3]; 176.54/122.12 448[label="primQuotInt (Pos vuz290) (Pos vuz560)",fontsize=16,color="burlywood",shape="box"];3491[label="vuz560/Succ vuz5600",fontsize=10,color="white",style="solid",shape="box"];448 -> 3491[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3491 -> 454[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3492[label="vuz560/Zero",fontsize=10,color="white",style="solid",shape="box"];448 -> 3492[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3492 -> 455[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 449[label="primQuotInt (Pos vuz290) (Neg vuz560)",fontsize=16,color="burlywood",shape="box"];3493[label="vuz560/Succ vuz5600",fontsize=10,color="white",style="solid",shape="box"];449 -> 3493[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3493 -> 456[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3494[label="vuz560/Zero",fontsize=10,color="white",style="solid",shape="box"];449 -> 3494[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3494 -> 457[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 475[label="primQuotInt (Neg vuz290) (Pos vuz590)",fontsize=16,color="burlywood",shape="box"];3495[label="vuz590/Succ vuz5900",fontsize=10,color="white",style="solid",shape="box"];475 -> 3495[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3495 -> 479[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3496[label="vuz590/Zero",fontsize=10,color="white",style="solid",shape="box"];475 -> 3496[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3496 -> 480[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 476[label="primQuotInt (Neg vuz290) (Neg vuz590)",fontsize=16,color="burlywood",shape="box"];3497[label="vuz590/Succ vuz5900",fontsize=10,color="white",style="solid",shape="box"];476 -> 3497[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3497 -> 481[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3498[label="vuz590/Zero",fontsize=10,color="white",style="solid",shape="box"];476 -> 3498[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3498 -> 482[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 348 -> 355[label="",style="dashed", color="red", weight=0]; 176.54/122.12 348[label="Integer vuz360 `quot` gcd2 (vuz37 == fromInt (Pos Zero)) vuz37 vuz38",fontsize=16,color="magenta"];348 -> 356[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 349[label="vuz210",fontsize=16,color="green",shape="box"];350[label="vuz230",fontsize=16,color="green",shape="box"];453 -> 477[label="",style="dashed", color="red", weight=0]; 176.54/122.12 453[label="gcd2 (vuz31 == fromInt (Pos Zero)) vuz31 vuz30",fontsize=16,color="magenta"];453 -> 478[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 454[label="primQuotInt (Pos vuz290) (Pos (Succ vuz5600))",fontsize=16,color="black",shape="box"];454 -> 483[label="",style="solid", color="black", weight=3]; 176.54/122.12 455[label="primQuotInt (Pos vuz290) (Pos Zero)",fontsize=16,color="black",shape="box"];455 -> 484[label="",style="solid", color="black", weight=3]; 176.54/122.12 456[label="primQuotInt (Pos vuz290) (Neg (Succ vuz5600))",fontsize=16,color="black",shape="box"];456 -> 485[label="",style="solid", color="black", weight=3]; 176.54/122.12 457[label="primQuotInt (Pos vuz290) (Neg Zero)",fontsize=16,color="black",shape="box"];457 -> 486[label="",style="solid", color="black", weight=3]; 176.54/122.12 479[label="primQuotInt (Neg vuz290) (Pos (Succ vuz5900))",fontsize=16,color="black",shape="box"];479 -> 493[label="",style="solid", color="black", weight=3]; 176.54/122.12 480[label="primQuotInt (Neg vuz290) (Pos Zero)",fontsize=16,color="black",shape="box"];480 -> 494[label="",style="solid", color="black", weight=3]; 176.54/122.12 481[label="primQuotInt (Neg vuz290) (Neg (Succ vuz5900))",fontsize=16,color="black",shape="box"];481 -> 495[label="",style="solid", color="black", weight=3]; 176.54/122.12 482[label="primQuotInt (Neg vuz290) (Neg Zero)",fontsize=16,color="black",shape="box"];482 -> 496[label="",style="solid", color="black", weight=3]; 176.54/122.12 356 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 356[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];355[label="Integer vuz360 `quot` gcd2 (vuz37 == vuz43) vuz37 vuz38",fontsize=16,color="burlywood",shape="triangle"];3499[label="vuz37/Integer vuz370",fontsize=10,color="white",style="solid",shape="box"];355 -> 3499[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3499 -> 365[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 478 -> 168[label="",style="dashed", color="red", weight=0]; 176.54/122.12 478[label="vuz31 == fromInt (Pos Zero)",fontsize=16,color="magenta"];478 -> 487[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 478 -> 488[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 477[label="gcd2 vuz60 vuz31 vuz30",fontsize=16,color="burlywood",shape="triangle"];3500[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];477 -> 3500[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3500 -> 489[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3501[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];477 -> 3501[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3501 -> 490[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 483[label="Pos (primDivNatS vuz290 (Succ vuz5600))",fontsize=16,color="green",shape="box"];483 -> 497[label="",style="dashed", color="green", weight=3]; 176.54/122.12 484[label="error []",fontsize=16,color="black",shape="triangle"];484 -> 498[label="",style="solid", color="black", weight=3]; 176.54/122.12 485[label="Neg (primDivNatS vuz290 (Succ vuz5600))",fontsize=16,color="green",shape="box"];485 -> 499[label="",style="dashed", color="green", weight=3]; 176.54/122.12 486 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 486[label="error []",fontsize=16,color="magenta"];493[label="Neg (primDivNatS vuz290 (Succ vuz5900))",fontsize=16,color="green",shape="box"];493 -> 504[label="",style="dashed", color="green", weight=3]; 176.54/122.12 494 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 494[label="error []",fontsize=16,color="magenta"];495[label="Pos (primDivNatS vuz290 (Succ vuz5900))",fontsize=16,color="green",shape="box"];495 -> 505[label="",style="dashed", color="green", weight=3]; 176.54/122.12 496 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 496[label="error []",fontsize=16,color="magenta"];365[label="Integer vuz360 `quot` gcd2 (Integer vuz370 == vuz43) (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="box"];3502[label="vuz43/Integer vuz430",fontsize=10,color="white",style="solid",shape="box"];365 -> 3502[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3502 -> 370[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 487[label="vuz31",fontsize=16,color="green",shape="box"];488 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 488[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];489[label="gcd2 False vuz31 vuz30",fontsize=16,color="black",shape="box"];489 -> 500[label="",style="solid", color="black", weight=3]; 176.54/122.12 490[label="gcd2 True vuz31 vuz30",fontsize=16,color="black",shape="box"];490 -> 501[label="",style="solid", color="black", weight=3]; 176.54/122.12 497[label="primDivNatS vuz290 (Succ vuz5600)",fontsize=16,color="burlywood",shape="triangle"];3503[label="vuz290/Succ vuz2900",fontsize=10,color="white",style="solid",shape="box"];497 -> 3503[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3503 -> 506[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3504[label="vuz290/Zero",fontsize=10,color="white",style="solid",shape="box"];497 -> 3504[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3504 -> 507[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 498[label="error []",fontsize=16,color="red",shape="box"];499 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 499[label="primDivNatS vuz290 (Succ vuz5600)",fontsize=16,color="magenta"];499 -> 508[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 504 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 504[label="primDivNatS vuz290 (Succ vuz5900)",fontsize=16,color="magenta"];504 -> 512[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 504 -> 513[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 505 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 505[label="primDivNatS vuz290 (Succ vuz5900)",fontsize=16,color="magenta"];505 -> 514[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 505 -> 515[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 370[label="Integer vuz360 `quot` gcd2 (Integer vuz370 == Integer vuz430) (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];370 -> 377[label="",style="solid", color="black", weight=3]; 176.54/122.12 500[label="gcd0 vuz31 vuz30",fontsize=16,color="black",shape="triangle"];500 -> 509[label="",style="solid", color="black", weight=3]; 176.54/122.12 501 -> 510[label="",style="dashed", color="red", weight=0]; 176.54/122.12 501[label="gcd1 (vuz30 == fromInt (Pos Zero)) vuz31 vuz30",fontsize=16,color="magenta"];501 -> 511[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 506[label="primDivNatS (Succ vuz2900) (Succ vuz5600)",fontsize=16,color="black",shape="box"];506 -> 516[label="",style="solid", color="black", weight=3]; 176.54/122.12 507[label="primDivNatS Zero (Succ vuz5600)",fontsize=16,color="black",shape="box"];507 -> 517[label="",style="solid", color="black", weight=3]; 176.54/122.12 508[label="vuz5600",fontsize=16,color="green",shape="box"];512[label="vuz290",fontsize=16,color="green",shape="box"];513[label="vuz5900",fontsize=16,color="green",shape="box"];514[label="vuz290",fontsize=16,color="green",shape="box"];515[label="vuz5900",fontsize=16,color="green",shape="box"];377 -> 388[label="",style="dashed", color="red", weight=0]; 176.54/122.12 377[label="Integer vuz360 `quot` gcd2 (primEqInt vuz370 vuz430) (Integer vuz370) vuz38",fontsize=16,color="magenta"];377 -> 389[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 509[label="gcd0Gcd' (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];509 -> 518[label="",style="solid", color="black", weight=3]; 176.54/122.12 511 -> 168[label="",style="dashed", color="red", weight=0]; 176.54/122.12 511[label="vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];511 -> 519[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 511 -> 520[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 510[label="gcd1 vuz63 vuz31 vuz30",fontsize=16,color="burlywood",shape="triangle"];3505[label="vuz63/False",fontsize=10,color="white",style="solid",shape="box"];510 -> 3505[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3505 -> 521[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3506[label="vuz63/True",fontsize=10,color="white",style="solid",shape="box"];510 -> 3506[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3506 -> 522[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 516[label="primDivNatS0 vuz2900 vuz5600 (primGEqNatS vuz2900 vuz5600)",fontsize=16,color="burlywood",shape="box"];3507[label="vuz2900/Succ vuz29000",fontsize=10,color="white",style="solid",shape="box"];516 -> 3507[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3507 -> 525[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3508[label="vuz2900/Zero",fontsize=10,color="white",style="solid",shape="box"];516 -> 3508[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3508 -> 526[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 517[label="Zero",fontsize=16,color="green",shape="box"];389 -> 181[label="",style="dashed", color="red", weight=0]; 176.54/122.12 389[label="primEqInt vuz370 vuz430",fontsize=16,color="magenta"];389 -> 396[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 389 -> 397[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 388[label="Integer vuz360 `quot` gcd2 vuz48 (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="triangle"];3509[label="vuz48/False",fontsize=10,color="white",style="solid",shape="box"];388 -> 3509[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3509 -> 398[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3510[label="vuz48/True",fontsize=10,color="white",style="solid",shape="box"];388 -> 3510[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3510 -> 399[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 518[label="gcd0Gcd'2 (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];518 -> 527[label="",style="solid", color="black", weight=3]; 176.54/122.12 519[label="vuz30",fontsize=16,color="green",shape="box"];520 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 520[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="gcd1 False vuz31 vuz30",fontsize=16,color="black",shape="box"];521 -> 528[label="",style="solid", color="black", weight=3]; 176.54/122.12 522[label="gcd1 True vuz31 vuz30",fontsize=16,color="black",shape="box"];522 -> 529[label="",style="solid", color="black", weight=3]; 176.54/122.12 525[label="primDivNatS0 (Succ vuz29000) vuz5600 (primGEqNatS (Succ vuz29000) vuz5600)",fontsize=16,color="burlywood",shape="box"];3511[label="vuz5600/Succ vuz56000",fontsize=10,color="white",style="solid",shape="box"];525 -> 3511[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3511 -> 532[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3512[label="vuz5600/Zero",fontsize=10,color="white",style="solid",shape="box"];525 -> 3512[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3512 -> 533[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 526[label="primDivNatS0 Zero vuz5600 (primGEqNatS Zero vuz5600)",fontsize=16,color="burlywood",shape="box"];3513[label="vuz5600/Succ vuz56000",fontsize=10,color="white",style="solid",shape="box"];526 -> 3513[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3513 -> 534[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3514[label="vuz5600/Zero",fontsize=10,color="white",style="solid",shape="box"];526 -> 3514[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3514 -> 535[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 396[label="vuz370",fontsize=16,color="green",shape="box"];397[label="vuz430",fontsize=16,color="green",shape="box"];398[label="Integer vuz360 `quot` gcd2 False (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];398 -> 406[label="",style="solid", color="black", weight=3]; 176.54/122.12 399[label="Integer vuz360 `quot` gcd2 True (Integer vuz370) vuz38",fontsize=16,color="black",shape="box"];399 -> 407[label="",style="solid", color="black", weight=3]; 176.54/122.12 527 -> 536[label="",style="dashed", color="red", weight=0]; 176.54/122.12 527[label="gcd0Gcd'1 (abs vuz30 == fromInt (Pos Zero)) (abs vuz31) (abs vuz30)",fontsize=16,color="magenta"];527 -> 537[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 528 -> 500[label="",style="dashed", color="red", weight=0]; 176.54/122.12 528[label="gcd0 vuz31 vuz30",fontsize=16,color="magenta"];529 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 529[label="error []",fontsize=16,color="magenta"];532[label="primDivNatS0 (Succ vuz29000) (Succ vuz56000) (primGEqNatS (Succ vuz29000) (Succ vuz56000))",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 176.54/122.12 533[label="primDivNatS0 (Succ vuz29000) Zero (primGEqNatS (Succ vuz29000) Zero)",fontsize=16,color="black",shape="box"];533 -> 539[label="",style="solid", color="black", weight=3]; 176.54/122.12 534[label="primDivNatS0 Zero (Succ vuz56000) (primGEqNatS Zero (Succ vuz56000))",fontsize=16,color="black",shape="box"];534 -> 540[label="",style="solid", color="black", weight=3]; 176.54/122.12 535[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];535 -> 541[label="",style="solid", color="black", weight=3]; 176.54/122.12 406[label="Integer vuz360 `quot` gcd0 (Integer vuz370) vuz38",fontsize=16,color="black",shape="triangle"];406 -> 416[label="",style="solid", color="black", weight=3]; 176.54/122.12 407 -> 417[label="",style="dashed", color="red", weight=0]; 176.54/122.12 407[label="Integer vuz360 `quot` gcd1 (vuz38 == fromInt (Pos Zero)) (Integer vuz370) vuz38",fontsize=16,color="magenta"];407 -> 418[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 537 -> 168[label="",style="dashed", color="red", weight=0]; 176.54/122.12 537[label="abs vuz30 == fromInt (Pos Zero)",fontsize=16,color="magenta"];537 -> 542[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 537 -> 543[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 536[label="gcd0Gcd'1 vuz66 (abs vuz31) (abs vuz30)",fontsize=16,color="burlywood",shape="triangle"];3515[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];536 -> 3515[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3515 -> 544[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3516[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];536 -> 3516[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3516 -> 545[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 538 -> 1283[label="",style="dashed", color="red", weight=0]; 176.54/122.12 538[label="primDivNatS0 (Succ vuz29000) (Succ vuz56000) (primGEqNatS vuz29000 vuz56000)",fontsize=16,color="magenta"];538 -> 1284[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 538 -> 1285[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 538 -> 1286[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 538 -> 1287[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 539[label="primDivNatS0 (Succ vuz29000) Zero True",fontsize=16,color="black",shape="box"];539 -> 553[label="",style="solid", color="black", weight=3]; 176.54/122.12 540[label="primDivNatS0 Zero (Succ vuz56000) False",fontsize=16,color="black",shape="box"];540 -> 554[label="",style="solid", color="black", weight=3]; 176.54/122.12 541[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];541 -> 555[label="",style="solid", color="black", weight=3]; 176.54/122.12 416[label="Integer vuz360 `quot` gcd0Gcd' (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="box"];416 -> 424[label="",style="solid", color="black", weight=3]; 176.54/122.12 418 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 418[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];417[label="Integer vuz360 `quot` gcd1 (vuz38 == vuz53) (Integer vuz370) vuz38",fontsize=16,color="burlywood",shape="triangle"];3517[label="vuz38/Integer vuz380",fontsize=10,color="white",style="solid",shape="box"];417 -> 3517[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3517 -> 425[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 542[label="abs vuz30",fontsize=16,color="black",shape="triangle"];542 -> 556[label="",style="solid", color="black", weight=3]; 176.54/122.12 543 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 543[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];544[label="gcd0Gcd'1 False (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];544 -> 557[label="",style="solid", color="black", weight=3]; 176.54/122.12 545[label="gcd0Gcd'1 True (abs vuz31) (abs vuz30)",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 176.54/122.12 1284[label="vuz56000",fontsize=16,color="green",shape="box"];1285[label="vuz29000",fontsize=16,color="green",shape="box"];1286[label="vuz56000",fontsize=16,color="green",shape="box"];1287[label="vuz29000",fontsize=16,color="green",shape="box"];1283[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];3518[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];1283 -> 3518[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3518 -> 1324[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3519[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];1283 -> 3519[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3519 -> 1325[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 553[label="Succ (primDivNatS (primMinusNatS (Succ vuz29000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 566[label="",style="dashed", color="green", weight=3]; 176.54/122.12 554[label="Zero",fontsize=16,color="green",shape="box"];555[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];555 -> 567[label="",style="dashed", color="green", weight=3]; 176.54/122.12 424[label="Integer vuz360 `quot` gcd0Gcd'2 (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="box"];424 -> 491[label="",style="solid", color="black", weight=3]; 176.54/122.12 425[label="Integer vuz360 `quot` gcd1 (Integer vuz380 == vuz53) (Integer vuz370) (Integer vuz380)",fontsize=16,color="burlywood",shape="box"];3520[label="vuz53/Integer vuz530",fontsize=10,color="white",style="solid",shape="box"];425 -> 3520[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3520 -> 492[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 556[label="absReal vuz30",fontsize=16,color="black",shape="box"];556 -> 568[label="",style="solid", color="black", weight=3]; 176.54/122.12 557 -> 569[label="",style="dashed", color="red", weight=0]; 176.54/122.12 557[label="gcd0Gcd'0 (abs vuz31) (abs vuz30)",fontsize=16,color="magenta"];557 -> 570[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 557 -> 571[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 558 -> 542[label="",style="dashed", color="red", weight=0]; 176.54/122.12 558[label="abs vuz31",fontsize=16,color="magenta"];558 -> 572[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1324[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];3521[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1324 -> 3521[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3521 -> 1364[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3522[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1324 -> 3522[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3522 -> 1365[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1325[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];3523[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];1325 -> 3523[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3523 -> 1366[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3524[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];1325 -> 3524[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3524 -> 1367[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 566 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 566[label="primDivNatS (primMinusNatS (Succ vuz29000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 567 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 491 -> 502[label="",style="dashed", color="red", weight=0]; 176.54/122.12 491[label="Integer vuz360 `quot` gcd0Gcd'1 (abs vuz38 == fromInt (Pos Zero)) (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="magenta"];491 -> 503[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 492[label="Integer vuz360 `quot` gcd1 (Integer vuz380 == Integer vuz530) (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];492 -> 523[label="",style="solid", color="black", weight=3]; 176.54/122.12 568[label="absReal2 vuz30",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 176.54/122.12 570 -> 542[label="",style="dashed", color="red", weight=0]; 176.54/122.12 570[label="abs vuz30",fontsize=16,color="magenta"];571 -> 542[label="",style="dashed", color="red", weight=0]; 176.54/122.12 571[label="abs vuz31",fontsize=16,color="magenta"];571 -> 582[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 569[label="gcd0Gcd'0 vuz69 vuz68",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 176.54/122.12 572[label="vuz31",fontsize=16,color="green",shape="box"];1364[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];1364 -> 1401[label="",style="solid", color="black", weight=3]; 176.54/122.12 1365[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];1365 -> 1402[label="",style="solid", color="black", weight=3]; 176.54/122.12 1366[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];1366 -> 1403[label="",style="solid", color="black", weight=3]; 176.54/122.12 1367[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1367 -> 1404[label="",style="solid", color="black", weight=3]; 176.54/122.12 577[label="primMinusNatS (Succ vuz29000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 176.54/122.12 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 176.54/122.12 580[label="Zero",fontsize=16,color="green",shape="box"];503 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 503[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];502[label="Integer vuz360 `quot` gcd0Gcd'1 (abs vuz38 == vuz62) (abs (Integer vuz370)) (abs vuz38)",fontsize=16,color="black",shape="triangle"];502 -> 524[label="",style="solid", color="black", weight=3]; 176.54/122.12 523 -> 530[label="",style="dashed", color="red", weight=0]; 176.54/122.12 523[label="Integer vuz360 `quot` gcd1 (primEqInt vuz380 vuz530) (Integer vuz370) (Integer vuz380)",fontsize=16,color="magenta"];523 -> 531[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 581 -> 594[label="",style="dashed", color="red", weight=0]; 176.54/122.12 581[label="absReal1 vuz30 (vuz30 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];581 -> 595[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 582[label="vuz31",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];583 -> 596[label="",style="solid", color="black", weight=3]; 176.54/122.12 1401 -> 1283[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1401[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];1401 -> 1407[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1401 -> 1408[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1402[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];1402 -> 1409[label="",style="solid", color="black", weight=3]; 176.54/122.12 1403[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];1403 -> 1410[label="",style="solid", color="black", weight=3]; 176.54/122.12 1404 -> 1402[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1404[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz29000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];524[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal vuz38 == vuz62) (abs (Integer vuz370)) (absReal vuz38)",fontsize=16,color="black",shape="box"];524 -> 546[label="",style="solid", color="black", weight=3]; 176.54/122.12 531 -> 181[label="",style="dashed", color="red", weight=0]; 176.54/122.12 531[label="primEqInt vuz380 vuz530",fontsize=16,color="magenta"];531 -> 547[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 531 -> 548[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 530[label="Integer vuz360 `quot` gcd1 vuz65 (Integer vuz370) (Integer vuz380)",fontsize=16,color="burlywood",shape="triangle"];3525[label="vuz65/False",fontsize=10,color="white",style="solid",shape="box"];530 -> 3525[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3525 -> 549[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3526[label="vuz65/True",fontsize=10,color="white",style="solid",shape="box"];530 -> 3526[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3526 -> 550[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 595 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 595[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];594[label="absReal1 vuz30 (vuz30 >= vuz72)",fontsize=16,color="black",shape="triangle"];594 -> 603[label="",style="solid", color="black", weight=3]; 176.54/122.12 596[label="gcd0Gcd'2 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];596 -> 607[label="",style="solid", color="black", weight=3]; 176.54/122.12 1407[label="vuz1000",fontsize=16,color="green",shape="box"];1408[label="vuz990",fontsize=16,color="green",shape="box"];1409[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];1409 -> 1413[label="",style="dashed", color="green", weight=3]; 176.54/122.12 1410[label="Zero",fontsize=16,color="green",shape="box"];546[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal2 vuz38 == vuz62) (abs (Integer vuz370)) (absReal2 vuz38)",fontsize=16,color="black",shape="box"];546 -> 559[label="",style="solid", color="black", weight=3]; 176.54/122.12 547[label="vuz380",fontsize=16,color="green",shape="box"];548[label="vuz530",fontsize=16,color="green",shape="box"];549[label="Integer vuz360 `quot` gcd1 False (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];549 -> 560[label="",style="solid", color="black", weight=3]; 176.54/122.12 550[label="Integer vuz360 `quot` gcd1 True (Integer vuz370) (Integer vuz380)",fontsize=16,color="black",shape="box"];550 -> 561[label="",style="solid", color="black", weight=3]; 176.54/122.12 603[label="absReal1 vuz30 (compare vuz30 vuz72 /= LT)",fontsize=16,color="black",shape="box"];603 -> 616[label="",style="solid", color="black", weight=3]; 176.54/122.12 607 -> 618[label="",style="dashed", color="red", weight=0]; 176.54/122.12 607[label="gcd0Gcd'1 (vuz69 `rem` vuz68 == fromInt (Pos Zero)) vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="magenta"];607 -> 619[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1413 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1413[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1413 -> 1447[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1413 -> 1448[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 559 -> 584[label="",style="dashed", color="red", weight=0]; 176.54/122.12 559[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (vuz38 >= fromInt (Pos Zero)) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (vuz38 >= fromInt (Pos Zero)))",fontsize=16,color="magenta"];559 -> 585[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 559 -> 586[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 560 -> 406[label="",style="dashed", color="red", weight=0]; 176.54/122.12 560[label="Integer vuz360 `quot` gcd0 (Integer vuz370) (Integer vuz380)",fontsize=16,color="magenta"];560 -> 604[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 561[label="Integer vuz360 `quot` error []",fontsize=16,color="black",shape="box"];561 -> 605[label="",style="solid", color="black", weight=3]; 176.54/122.12 616[label="absReal1 vuz30 (not (compare vuz30 vuz72 == LT))",fontsize=16,color="black",shape="box"];616 -> 627[label="",style="solid", color="black", weight=3]; 176.54/122.12 619 -> 168[label="",style="dashed", color="red", weight=0]; 176.54/122.12 619[label="vuz69 `rem` vuz68 == fromInt (Pos Zero)",fontsize=16,color="magenta"];619 -> 628[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 619 -> 629[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 618[label="gcd0Gcd'1 vuz73 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="burlywood",shape="triangle"];3527[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];618 -> 3527[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3527 -> 630[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3528[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];618 -> 3528[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3528 -> 631[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1447 -> 1022[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1447[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="magenta"];1447 -> 1489[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1447 -> 1490[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1448[label="Succ vuz98",fontsize=16,color="green",shape="box"];585 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 585[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];586 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 586[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];584[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (vuz38 >= vuz71) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (vuz38 >= vuz70))",fontsize=16,color="black",shape="triangle"];584 -> 606[label="",style="solid", color="black", weight=3]; 176.54/122.12 604[label="Integer vuz380",fontsize=16,color="green",shape="box"];605[label="error []",fontsize=16,color="red",shape="box"];627[label="absReal1 vuz30 (not (primCmpInt vuz30 vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3529[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];627 -> 3529[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3529 -> 640[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3530[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];627 -> 3530[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3530 -> 641[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 628[label="vuz69 `rem` vuz68",fontsize=16,color="black",shape="triangle"];628 -> 642[label="",style="solid", color="black", weight=3]; 176.54/122.12 629 -> 13[label="",style="dashed", color="red", weight=0]; 176.54/122.12 629[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];630[label="gcd0Gcd'1 False vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];630 -> 643[label="",style="solid", color="black", weight=3]; 176.54/122.12 631[label="gcd0Gcd'1 True vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="black",shape="box"];631 -> 644[label="",style="solid", color="black", weight=3]; 176.54/122.12 1489[label="Succ vuz97",fontsize=16,color="green",shape="box"];1490[label="Succ vuz98",fontsize=16,color="green",shape="box"];1022[label="primMinusNatS vuz88 vuz89",fontsize=16,color="burlywood",shape="triangle"];3531[label="vuz88/Succ vuz880",fontsize=10,color="white",style="solid",shape="box"];1022 -> 3531[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3531 -> 1050[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3532[label="vuz88/Zero",fontsize=10,color="white",style="solid",shape="box"];1022 -> 3532[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3532 -> 1051[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 606[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (compare vuz38 vuz71 /= LT) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (compare vuz38 vuz71 /= LT))",fontsize=16,color="black",shape="box"];606 -> 617[label="",style="solid", color="black", weight=3]; 176.54/122.12 640[label="absReal1 (Pos vuz300) (not (primCmpInt (Pos vuz300) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3533[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];640 -> 3533[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3533 -> 654[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3534[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];640 -> 3534[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3534 -> 655[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 641[label="absReal1 (Neg vuz300) (not (primCmpInt (Neg vuz300) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3535[label="vuz300/Succ vuz3000",fontsize=10,color="white",style="solid",shape="box"];641 -> 3535[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3535 -> 656[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3536[label="vuz300/Zero",fontsize=10,color="white",style="solid",shape="box"];641 -> 3536[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3536 -> 657[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 642[label="primRemInt vuz69 vuz68",fontsize=16,color="burlywood",shape="triangle"];3537[label="vuz69/Pos vuz690",fontsize=10,color="white",style="solid",shape="box"];642 -> 3537[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3537 -> 658[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3538[label="vuz69/Neg vuz690",fontsize=10,color="white",style="solid",shape="box"];642 -> 3538[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3538 -> 659[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 643 -> 569[label="",style="dashed", color="red", weight=0]; 176.54/122.12 643[label="gcd0Gcd'0 vuz68 (vuz69 `rem` vuz68)",fontsize=16,color="magenta"];643 -> 660[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 643 -> 661[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 644[label="vuz68",fontsize=16,color="green",shape="box"];1050[label="primMinusNatS (Succ vuz880) vuz89",fontsize=16,color="burlywood",shape="box"];3539[label="vuz89/Succ vuz890",fontsize=10,color="white",style="solid",shape="box"];1050 -> 3539[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3539 -> 1060[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3540[label="vuz89/Zero",fontsize=10,color="white",style="solid",shape="box"];1050 -> 3540[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3540 -> 1061[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1051[label="primMinusNatS Zero vuz89",fontsize=16,color="burlywood",shape="box"];3541[label="vuz89/Succ vuz890",fontsize=10,color="white",style="solid",shape="box"];1051 -> 3541[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3541 -> 1062[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3542[label="vuz89/Zero",fontsize=10,color="white",style="solid",shape="box"];1051 -> 3542[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3542 -> 1063[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 617[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 vuz38 (not (compare vuz38 vuz71 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 vuz38 (not (compare vuz38 vuz71 == LT)))",fontsize=16,color="burlywood",shape="box"];3543[label="vuz38/Integer vuz380",fontsize=10,color="white",style="solid",shape="box"];617 -> 3543[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3543 -> 632[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 654[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3544[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];654 -> 3544[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3544 -> 670[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3545[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];654 -> 3545[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3545 -> 671[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 655[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3546[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];655 -> 3546[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3546 -> 672[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3547[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];655 -> 3547[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3547 -> 673[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 656[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3548[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];656 -> 3548[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3548 -> 674[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3549[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];656 -> 3549[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3549 -> 675[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 657[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz72 == LT))",fontsize=16,color="burlywood",shape="box"];3550[label="vuz72/Pos vuz720",fontsize=10,color="white",style="solid",shape="box"];657 -> 3550[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3550 -> 676[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3551[label="vuz72/Neg vuz720",fontsize=10,color="white",style="solid",shape="box"];657 -> 3551[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3551 -> 677[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 658[label="primRemInt (Pos vuz690) vuz68",fontsize=16,color="burlywood",shape="box"];3552[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];658 -> 3552[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3552 -> 678[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3553[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];658 -> 3553[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3553 -> 679[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 659[label="primRemInt (Neg vuz690) vuz68",fontsize=16,color="burlywood",shape="box"];3554[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];659 -> 3554[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3554 -> 680[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3555[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];659 -> 3555[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3555 -> 681[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 660 -> 628[label="",style="dashed", color="red", weight=0]; 176.54/122.12 660[label="vuz69 `rem` vuz68",fontsize=16,color="magenta"];661[label="vuz68",fontsize=16,color="green",shape="box"];1060[label="primMinusNatS (Succ vuz880) (Succ vuz890)",fontsize=16,color="black",shape="box"];1060 -> 1111[label="",style="solid", color="black", weight=3]; 176.54/122.12 1061[label="primMinusNatS (Succ vuz880) Zero",fontsize=16,color="black",shape="box"];1061 -> 1112[label="",style="solid", color="black", weight=3]; 176.54/122.12 1062[label="primMinusNatS Zero (Succ vuz890)",fontsize=16,color="black",shape="box"];1062 -> 1113[label="",style="solid", color="black", weight=3]; 176.54/122.12 1063[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1063 -> 1114[label="",style="solid", color="black", weight=3]; 176.54/122.12 632[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (compare (Integer vuz380) vuz71 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (compare (Integer vuz380) vuz71 == LT)))",fontsize=16,color="burlywood",shape="box"];3556[label="vuz71/Integer vuz710",fontsize=10,color="white",style="solid",shape="box"];632 -> 3556[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3556 -> 645[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 670[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) (Pos vuz720) == LT))",fontsize=16,color="black",shape="box"];670 -> 691[label="",style="solid", color="black", weight=3]; 176.54/122.12 671[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpInt (Pos (Succ vuz3000)) (Neg vuz720) == LT))",fontsize=16,color="black",shape="box"];671 -> 692[label="",style="solid", color="black", weight=3]; 176.54/122.12 672[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3557[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];672 -> 3557[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3557 -> 693[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3558[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];672 -> 3558[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3558 -> 694[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 673[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3559[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];673 -> 3559[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3559 -> 695[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3560[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];673 -> 3560[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3560 -> 696[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 674[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) (Pos vuz720) == LT))",fontsize=16,color="black",shape="box"];674 -> 697[label="",style="solid", color="black", weight=3]; 176.54/122.12 675[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpInt (Neg (Succ vuz3000)) (Neg vuz720) == LT))",fontsize=16,color="black",shape="box"];675 -> 698[label="",style="solid", color="black", weight=3]; 176.54/122.12 676[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3561[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];676 -> 3561[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3561 -> 699[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3562[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];676 -> 3562[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3562 -> 700[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 677[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz720) == LT))",fontsize=16,color="burlywood",shape="box"];3563[label="vuz720/Succ vuz7200",fontsize=10,color="white",style="solid",shape="box"];677 -> 3563[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3563 -> 701[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3564[label="vuz720/Zero",fontsize=10,color="white",style="solid",shape="box"];677 -> 3564[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3564 -> 702[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 678[label="primRemInt (Pos vuz690) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];3565[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];678 -> 3565[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3565 -> 703[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3566[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];678 -> 3566[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3566 -> 704[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 679[label="primRemInt (Pos vuz690) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];3567[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];679 -> 3567[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3567 -> 705[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3568[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];679 -> 3568[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3568 -> 706[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 680[label="primRemInt (Neg vuz690) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];3569[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];680 -> 3569[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3569 -> 707[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3570[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];680 -> 3570[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3570 -> 708[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 681[label="primRemInt (Neg vuz690) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];3571[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];681 -> 3571[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3571 -> 709[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3572[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];681 -> 3572[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3572 -> 710[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1111 -> 1022[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1111[label="primMinusNatS vuz880 vuz890",fontsize=16,color="magenta"];1111 -> 1165[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1111 -> 1166[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1112[label="Succ vuz880",fontsize=16,color="green",shape="box"];1113[label="Zero",fontsize=16,color="green",shape="box"];1114[label="Zero",fontsize=16,color="green",shape="box"];645[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (compare (Integer vuz380) (Integer vuz710) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (compare (Integer vuz380) (Integer vuz710) == LT)))",fontsize=16,color="black",shape="box"];645 -> 662[label="",style="solid", color="black", weight=3]; 176.54/122.12 691 -> 1467[label="",style="dashed", color="red", weight=0]; 176.54/122.12 691[label="absReal1 (Pos (Succ vuz3000)) (not (primCmpNat (Succ vuz3000) vuz720 == LT))",fontsize=16,color="magenta"];691 -> 1468[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 691 -> 1469[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 691 -> 1470[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 692[label="absReal1 (Pos (Succ vuz3000)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];692 -> 725[label="",style="solid", color="black", weight=3]; 176.54/122.12 693[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];693 -> 726[label="",style="solid", color="black", weight=3]; 176.54/122.12 694[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];694 -> 727[label="",style="solid", color="black", weight=3]; 176.54/122.12 695[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];695 -> 728[label="",style="solid", color="black", weight=3]; 176.54/122.12 696[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];696 -> 729[label="",style="solid", color="black", weight=3]; 176.54/122.12 697[label="absReal1 (Neg (Succ vuz3000)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];697 -> 730[label="",style="solid", color="black", weight=3]; 176.54/122.12 698 -> 1882[label="",style="dashed", color="red", weight=0]; 176.54/122.12 698[label="absReal1 (Neg (Succ vuz3000)) (not (primCmpNat vuz720 (Succ vuz3000) == LT))",fontsize=16,color="magenta"];698 -> 1883[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 698 -> 1884[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 698 -> 1885[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 699[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];699 -> 733[label="",style="solid", color="black", weight=3]; 176.54/122.12 700[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];700 -> 734[label="",style="solid", color="black", weight=3]; 176.54/122.12 701[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz7200)) == LT))",fontsize=16,color="black",shape="box"];701 -> 735[label="",style="solid", color="black", weight=3]; 176.54/122.12 702[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];702 -> 736[label="",style="solid", color="black", weight=3]; 176.54/122.12 703[label="primRemInt (Pos vuz690) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];703 -> 737[label="",style="solid", color="black", weight=3]; 176.54/122.12 704[label="primRemInt (Pos vuz690) (Pos Zero)",fontsize=16,color="black",shape="box"];704 -> 738[label="",style="solid", color="black", weight=3]; 176.54/122.12 705[label="primRemInt (Pos vuz690) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];705 -> 739[label="",style="solid", color="black", weight=3]; 176.54/122.12 706[label="primRemInt (Pos vuz690) (Neg Zero)",fontsize=16,color="black",shape="box"];706 -> 740[label="",style="solid", color="black", weight=3]; 176.54/122.12 707[label="primRemInt (Neg vuz690) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];707 -> 741[label="",style="solid", color="black", weight=3]; 176.54/122.12 708[label="primRemInt (Neg vuz690) (Pos Zero)",fontsize=16,color="black",shape="box"];708 -> 742[label="",style="solid", color="black", weight=3]; 176.54/122.12 709[label="primRemInt (Neg vuz690) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];709 -> 743[label="",style="solid", color="black", weight=3]; 176.54/122.12 710[label="primRemInt (Neg vuz690) (Neg Zero)",fontsize=16,color="black",shape="box"];710 -> 744[label="",style="solid", color="black", weight=3]; 176.54/122.12 1165[label="vuz880",fontsize=16,color="green",shape="box"];1166[label="vuz890",fontsize=16,color="green",shape="box"];662[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz380) (not (primCmpInt vuz380 vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer vuz380) (not (primCmpInt vuz380 vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3573[label="vuz380/Pos vuz3800",fontsize=10,color="white",style="solid",shape="box"];662 -> 3573[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3573 -> 682[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3574[label="vuz380/Neg vuz3800",fontsize=10,color="white",style="solid",shape="box"];662 -> 3574[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3574 -> 683[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1468[label="Succ vuz3000",fontsize=16,color="green",shape="box"];1469[label="vuz3000",fontsize=16,color="green",shape="box"];1470[label="vuz720",fontsize=16,color="green",shape="box"];1467[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat vuz105 vuz106 == LT))",fontsize=16,color="burlywood",shape="triangle"];3575[label="vuz105/Succ vuz1050",fontsize=10,color="white",style="solid",shape="box"];1467 -> 3575[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3575 -> 1491[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3576[label="vuz105/Zero",fontsize=10,color="white",style="solid",shape="box"];1467 -> 3576[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3576 -> 1492[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 725[label="absReal1 (Pos (Succ vuz3000)) (not False)",fontsize=16,color="black",shape="triangle"];725 -> 762[label="",style="solid", color="black", weight=3]; 176.54/122.12 726[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz7200) == LT))",fontsize=16,color="black",shape="box"];726 -> 763[label="",style="solid", color="black", weight=3]; 176.54/122.12 727[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];727 -> 764[label="",style="solid", color="black", weight=3]; 176.54/122.12 728[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];728 -> 765[label="",style="solid", color="black", weight=3]; 176.54/122.12 729 -> 727[label="",style="dashed", color="red", weight=0]; 176.54/122.12 729[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];730[label="absReal1 (Neg (Succ vuz3000)) (not True)",fontsize=16,color="black",shape="box"];730 -> 766[label="",style="solid", color="black", weight=3]; 176.54/122.12 1883[label="vuz3000",fontsize=16,color="green",shape="box"];1884[label="vuz720",fontsize=16,color="green",shape="box"];1885[label="Succ vuz3000",fontsize=16,color="green",shape="box"];1882[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat vuz131 vuz132 == LT))",fontsize=16,color="burlywood",shape="triangle"];3577[label="vuz131/Succ vuz1310",fontsize=10,color="white",style="solid",shape="box"];1882 -> 3577[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3577 -> 1913[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3578[label="vuz131/Zero",fontsize=10,color="white",style="solid",shape="box"];1882 -> 3578[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3578 -> 1914[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 733[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];733 -> 769[label="",style="solid", color="black", weight=3]; 176.54/122.12 734[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];734 -> 770[label="",style="solid", color="black", weight=3]; 176.54/122.12 735[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz7200) Zero == LT))",fontsize=16,color="black",shape="box"];735 -> 771[label="",style="solid", color="black", weight=3]; 176.54/122.12 736 -> 734[label="",style="dashed", color="red", weight=0]; 176.54/122.12 736[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];737[label="Pos (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];737 -> 772[label="",style="dashed", color="green", weight=3]; 176.54/122.12 738 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 738[label="error []",fontsize=16,color="magenta"];739[label="Pos (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];739 -> 773[label="",style="dashed", color="green", weight=3]; 176.54/122.12 740 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 740[label="error []",fontsize=16,color="magenta"];741[label="Neg (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];741 -> 774[label="",style="dashed", color="green", weight=3]; 176.54/122.12 742 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 742[label="error []",fontsize=16,color="magenta"];743[label="Neg (primModNatS vuz690 (Succ vuz6800))",fontsize=16,color="green",shape="box"];743 -> 775[label="",style="dashed", color="green", weight=3]; 176.54/122.12 744 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.12 744[label="error []",fontsize=16,color="magenta"];682[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz3800)) (not (primCmpInt (Pos vuz3800) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos vuz3800)) (not (primCmpInt (Pos vuz3800) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3579[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];682 -> 3579[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3579 -> 711[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3580[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];682 -> 3580[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3580 -> 712[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 683[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz3800)) (not (primCmpInt (Neg vuz3800) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg vuz3800)) (not (primCmpInt (Neg vuz3800) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3581[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];683 -> 3581[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3581 -> 713[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3582[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 3582[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3582 -> 714[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1491[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) vuz106 == LT))",fontsize=16,color="burlywood",shape="box"];3583[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1491 -> 3583[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3583 -> 1503[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3584[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1491 -> 3584[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3584 -> 1504[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1492[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero vuz106 == LT))",fontsize=16,color="burlywood",shape="box"];3585[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1492 -> 3585[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3585 -> 1505[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3586[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1492 -> 3586[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3586 -> 1506[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 762[label="absReal1 (Pos (Succ vuz3000)) True",fontsize=16,color="black",shape="box"];762 -> 797[label="",style="solid", color="black", weight=3]; 176.54/122.12 763[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];763 -> 798[label="",style="solid", color="black", weight=3]; 176.54/122.12 764[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];764 -> 799[label="",style="solid", color="black", weight=3]; 176.54/122.12 765 -> 764[label="",style="dashed", color="red", weight=0]; 176.54/122.12 765[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];766[label="absReal1 (Neg (Succ vuz3000)) False",fontsize=16,color="black",shape="box"];766 -> 800[label="",style="solid", color="black", weight=3]; 176.54/122.12 1913[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) vuz132 == LT))",fontsize=16,color="burlywood",shape="box"];3587[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1913 -> 3587[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3587 -> 1935[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3588[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1913 -> 3588[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3588 -> 1936[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1914[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero vuz132 == LT))",fontsize=16,color="burlywood",shape="box"];3589[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1914 -> 3589[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3589 -> 1937[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3590[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1914 -> 3590[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3590 -> 1938[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 769[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];769 -> 803[label="",style="solid", color="black", weight=3]; 176.54/122.12 770[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];770 -> 804[label="",style="solid", color="black", weight=3]; 176.54/122.12 771[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];771 -> 805[label="",style="solid", color="black", weight=3]; 176.54/122.12 772[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="burlywood",shape="triangle"];3591[label="vuz690/Succ vuz6900",fontsize=10,color="white",style="solid",shape="box"];772 -> 3591[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3591 -> 806[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3592[label="vuz690/Zero",fontsize=10,color="white",style="solid",shape="box"];772 -> 3592[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3592 -> 807[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 773 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 773[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];773 -> 808[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 774 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 774[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];774 -> 809[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 775 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 775[label="primModNatS vuz690 (Succ vuz6800)",fontsize=16,color="magenta"];775 -> 810[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 775 -> 811[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 711[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3593[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];711 -> 3593[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3593 -> 745[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3594[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];711 -> 3594[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3594 -> 746[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 712[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3595[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];712 -> 3595[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3595 -> 747[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3596[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];712 -> 3596[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3596 -> 748[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 713[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3597[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];713 -> 3597[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3597 -> 749[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3598[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];713 -> 3598[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3598 -> 750[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 714[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz710 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz710 == LT)))",fontsize=16,color="burlywood",shape="box"];3599[label="vuz710/Pos vuz7100",fontsize=10,color="white",style="solid",shape="box"];714 -> 3599[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3599 -> 751[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3600[label="vuz710/Neg vuz7100",fontsize=10,color="white",style="solid",shape="box"];714 -> 3600[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3600 -> 752[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1503[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) (Succ vuz1060) == LT))",fontsize=16,color="black",shape="box"];1503 -> 1527[label="",style="solid", color="black", weight=3]; 176.54/122.12 1504[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat (Succ vuz1050) Zero == LT))",fontsize=16,color="black",shape="box"];1504 -> 1528[label="",style="solid", color="black", weight=3]; 176.54/122.12 1505[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero (Succ vuz1060) == LT))",fontsize=16,color="black",shape="box"];1505 -> 1529[label="",style="solid", color="black", weight=3]; 176.54/122.12 1506[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1506 -> 1530[label="",style="solid", color="black", weight=3]; 176.54/122.12 797[label="Pos (Succ vuz3000)",fontsize=16,color="green",shape="box"];798[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];798 -> 838[label="",style="solid", color="black", weight=3]; 176.54/122.12 799[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];799 -> 839[label="",style="solid", color="black", weight=3]; 176.54/122.12 800[label="absReal0 (Neg (Succ vuz3000)) otherwise",fontsize=16,color="black",shape="box"];800 -> 840[label="",style="solid", color="black", weight=3]; 176.54/122.12 1935[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) (Succ vuz1320) == LT))",fontsize=16,color="black",shape="box"];1935 -> 1987[label="",style="solid", color="black", weight=3]; 176.54/122.12 1936[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat (Succ vuz1310) Zero == LT))",fontsize=16,color="black",shape="box"];1936 -> 1988[label="",style="solid", color="black", weight=3]; 176.54/122.12 1937[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero (Succ vuz1320) == LT))",fontsize=16,color="black",shape="box"];1937 -> 1989[label="",style="solid", color="black", weight=3]; 176.54/122.12 1938[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];1938 -> 1990[label="",style="solid", color="black", weight=3]; 176.54/122.12 803[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];803 -> 845[label="",style="solid", color="black", weight=3]; 176.54/122.12 804[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];804 -> 846[label="",style="solid", color="black", weight=3]; 176.54/122.12 805 -> 770[label="",style="dashed", color="red", weight=0]; 176.54/122.12 805[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];806[label="primModNatS (Succ vuz6900) (Succ vuz6800)",fontsize=16,color="black",shape="box"];806 -> 847[label="",style="solid", color="black", weight=3]; 176.54/122.12 807[label="primModNatS Zero (Succ vuz6800)",fontsize=16,color="black",shape="box"];807 -> 848[label="",style="solid", color="black", weight=3]; 176.54/122.12 808[label="vuz6800",fontsize=16,color="green",shape="box"];809[label="vuz690",fontsize=16,color="green",shape="box"];810[label="vuz6800",fontsize=16,color="green",shape="box"];811[label="vuz690",fontsize=16,color="green",shape="box"];745[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Pos vuz7100) == LT)))",fontsize=16,color="black",shape="box"];745 -> 776[label="",style="solid", color="black", weight=3]; 176.54/122.12 746[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpInt (Pos (Succ vuz38000)) (Neg vuz7100) == LT)))",fontsize=16,color="black",shape="box"];746 -> 777[label="",style="solid", color="black", weight=3]; 176.54/122.12 747[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3601[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];747 -> 3601[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3601 -> 778[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3602[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];747 -> 3602[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3602 -> 779[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 748[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3603[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];748 -> 3603[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3603 -> 780[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3604[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];748 -> 3604[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3604 -> 781[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 749[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Pos vuz7100) == LT)))",fontsize=16,color="black",shape="box"];749 -> 782[label="",style="solid", color="black", weight=3]; 176.54/122.12 750[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpInt (Neg (Succ vuz38000)) (Neg vuz7100) == LT)))",fontsize=16,color="black",shape="box"];750 -> 783[label="",style="solid", color="black", weight=3]; 176.54/122.12 751[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3605[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];751 -> 3605[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3605 -> 784[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3606[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];751 -> 3606[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3606 -> 785[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 752[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz7100) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz7100) == LT)))",fontsize=16,color="burlywood",shape="box"];3607[label="vuz7100/Succ vuz71000",fontsize=10,color="white",style="solid",shape="box"];752 -> 3607[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3607 -> 786[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3608[label="vuz7100/Zero",fontsize=10,color="white",style="solid",shape="box"];752 -> 3608[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3608 -> 787[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1527 -> 1467[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1527[label="absReal1 (Pos (Succ vuz104)) (not (primCmpNat vuz1050 vuz1060 == LT))",fontsize=16,color="magenta"];1527 -> 1560[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1527 -> 1561[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1528 -> 692[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1528[label="absReal1 (Pos (Succ vuz104)) (not (GT == LT))",fontsize=16,color="magenta"];1528 -> 1562[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1529[label="absReal1 (Pos (Succ vuz104)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1529 -> 1563[label="",style="solid", color="black", weight=3]; 176.54/122.12 1530[label="absReal1 (Pos (Succ vuz104)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1530 -> 1564[label="",style="solid", color="black", weight=3]; 176.54/122.12 838[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];838 -> 879[label="",style="solid", color="black", weight=3]; 176.54/122.12 839[label="Pos Zero",fontsize=16,color="green",shape="box"];840[label="absReal0 (Neg (Succ vuz3000)) True",fontsize=16,color="black",shape="box"];840 -> 880[label="",style="solid", color="black", weight=3]; 176.54/122.12 1987 -> 1882[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1987[label="absReal1 (Neg (Succ vuz130)) (not (primCmpNat vuz1310 vuz1320 == LT))",fontsize=16,color="magenta"];1987 -> 2043[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1987 -> 2044[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1988[label="absReal1 (Neg (Succ vuz130)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1988 -> 2045[label="",style="solid", color="black", weight=3]; 176.54/122.12 1989 -> 697[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1989[label="absReal1 (Neg (Succ vuz130)) (not (LT == LT))",fontsize=16,color="magenta"];1989 -> 2046[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1990[label="absReal1 (Neg (Succ vuz130)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1990 -> 2047[label="",style="solid", color="black", weight=3]; 176.54/122.12 845[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];845 -> 885[label="",style="solid", color="black", weight=3]; 176.54/122.12 846[label="Neg Zero",fontsize=16,color="green",shape="box"];847[label="primModNatS0 vuz6900 vuz6800 (primGEqNatS vuz6900 vuz6800)",fontsize=16,color="burlywood",shape="box"];3609[label="vuz6900/Succ vuz69000",fontsize=10,color="white",style="solid",shape="box"];847 -> 3609[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3609 -> 886[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3610[label="vuz6900/Zero",fontsize=10,color="white",style="solid",shape="box"];847 -> 3610[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3610 -> 887[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 848[label="Zero",fontsize=16,color="green",shape="box"];776 -> 2191[label="",style="dashed", color="red", weight=0]; 176.54/122.12 776[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpNat (Succ vuz38000) vuz7100 == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (primCmpNat (Succ vuz38000) vuz7100 == LT)))",fontsize=16,color="magenta"];776 -> 2192[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 776 -> 2193[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 776 -> 2194[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 776 -> 2195[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 776 -> 2196[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 776 -> 2197[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 777[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not (GT == LT)))",fontsize=16,color="black",shape="triangle"];777 -> 814[label="",style="solid", color="black", weight=3]; 176.54/122.12 778[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];778 -> 815[label="",style="solid", color="black", weight=3]; 176.54/122.12 779[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];779 -> 816[label="",style="solid", color="black", weight=3]; 176.54/122.12 780[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];780 -> 817[label="",style="solid", color="black", weight=3]; 176.54/122.12 781[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)))",fontsize=16,color="black",shape="box"];781 -> 818[label="",style="solid", color="black", weight=3]; 176.54/122.12 782[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (LT == LT)))",fontsize=16,color="black",shape="triangle"];782 -> 819[label="",style="solid", color="black", weight=3]; 176.54/122.12 783 -> 2301[label="",style="dashed", color="red", weight=0]; 176.54/122.12 783[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpNat vuz7100 (Succ vuz38000) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not (primCmpNat vuz7100 (Succ vuz38000) == LT)))",fontsize=16,color="magenta"];783 -> 2302[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 783 -> 2303[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 783 -> 2304[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 783 -> 2305[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 783 -> 2306[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 783 -> 2307[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 784[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];784 -> 822[label="",style="solid", color="black", weight=3]; 176.54/122.12 785[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];785 -> 823[label="",style="solid", color="black", weight=3]; 176.54/122.12 786[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz71000)) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz71000)) == LT)))",fontsize=16,color="black",shape="box"];786 -> 824[label="",style="solid", color="black", weight=3]; 176.54/122.12 787[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)))",fontsize=16,color="black",shape="box"];787 -> 825[label="",style="solid", color="black", weight=3]; 176.54/122.12 1560[label="vuz1050",fontsize=16,color="green",shape="box"];1561[label="vuz1060",fontsize=16,color="green",shape="box"];1562[label="vuz104",fontsize=16,color="green",shape="box"];1563[label="absReal1 (Pos (Succ vuz104)) (not True)",fontsize=16,color="black",shape="box"];1563 -> 1595[label="",style="solid", color="black", weight=3]; 176.54/122.12 1564 -> 725[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1564[label="absReal1 (Pos (Succ vuz104)) (not False)",fontsize=16,color="magenta"];1564 -> 1596[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 879[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];879 -> 922[label="",style="solid", color="black", weight=3]; 176.54/122.12 880[label="`negate` Neg (Succ vuz3000)",fontsize=16,color="black",shape="box"];880 -> 923[label="",style="solid", color="black", weight=3]; 176.54/122.12 2043[label="vuz1310",fontsize=16,color="green",shape="box"];2044[label="vuz1320",fontsize=16,color="green",shape="box"];2045[label="absReal1 (Neg (Succ vuz130)) (not False)",fontsize=16,color="black",shape="triangle"];2045 -> 2087[label="",style="solid", color="black", weight=3]; 176.54/122.12 2046[label="vuz130",fontsize=16,color="green",shape="box"];2047 -> 2045[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2047[label="absReal1 (Neg (Succ vuz130)) (not False)",fontsize=16,color="magenta"];885[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];885 -> 929[label="",style="solid", color="black", weight=3]; 176.54/122.12 886[label="primModNatS0 (Succ vuz69000) vuz6800 (primGEqNatS (Succ vuz69000) vuz6800)",fontsize=16,color="burlywood",shape="box"];3611[label="vuz6800/Succ vuz68000",fontsize=10,color="white",style="solid",shape="box"];886 -> 3611[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3611 -> 930[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3612[label="vuz6800/Zero",fontsize=10,color="white",style="solid",shape="box"];886 -> 3612[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3612 -> 931[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 887[label="primModNatS0 Zero vuz6800 (primGEqNatS Zero vuz6800)",fontsize=16,color="burlywood",shape="box"];3613[label="vuz6800/Succ vuz68000",fontsize=10,color="white",style="solid",shape="box"];887 -> 3613[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3613 -> 932[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3614[label="vuz6800/Zero",fontsize=10,color="white",style="solid",shape="box"];887 -> 3614[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3614 -> 933[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2192[label="vuz370",fontsize=16,color="green",shape="box"];2193[label="vuz7100",fontsize=16,color="green",shape="box"];2194[label="vuz62",fontsize=16,color="green",shape="box"];2195[label="vuz360",fontsize=16,color="green",shape="box"];2196[label="Succ vuz38000",fontsize=16,color="green",shape="box"];2197[label="vuz38000",fontsize=16,color="green",shape="box"];2191[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz143 vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz143 vuz144 == LT)))",fontsize=16,color="burlywood",shape="triangle"];3615[label="vuz143/Succ vuz1430",fontsize=10,color="white",style="solid",shape="box"];2191 -> 3615[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3615 -> 2252[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3616[label="vuz143/Zero",fontsize=10,color="white",style="solid",shape="box"];2191 -> 3616[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3616 -> 2253[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 814[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) (not False))",fontsize=16,color="black",shape="triangle"];814 -> 851[label="",style="solid", color="black", weight=3]; 176.54/122.12 815[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz71000) == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz71000) == LT)))",fontsize=16,color="black",shape="box"];815 -> 852[label="",style="solid", color="black", weight=3]; 176.54/122.12 816[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="triangle"];816 -> 853[label="",style="solid", color="black", weight=3]; 176.54/122.12 817[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (GT == LT)))",fontsize=16,color="black",shape="box"];817 -> 854[label="",style="solid", color="black", weight=3]; 176.54/122.12 818 -> 816[label="",style="dashed", color="red", weight=0]; 176.54/122.12 818[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="magenta"];819[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) (not True))",fontsize=16,color="black",shape="box"];819 -> 855[label="",style="solid", color="black", weight=3]; 176.54/122.12 2302[label="vuz370",fontsize=16,color="green",shape="box"];2303[label="vuz7100",fontsize=16,color="green",shape="box"];2304[label="vuz360",fontsize=16,color="green",shape="box"];2305[label="vuz62",fontsize=16,color="green",shape="box"];2306[label="vuz38000",fontsize=16,color="green",shape="box"];2307[label="Succ vuz38000",fontsize=16,color="green",shape="box"];2301[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz153 vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz153 vuz154 == LT)))",fontsize=16,color="burlywood",shape="triangle"];3617[label="vuz153/Succ vuz1530",fontsize=10,color="white",style="solid",shape="box"];2301 -> 3617[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3617 -> 2362[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3618[label="vuz153/Zero",fontsize=10,color="white",style="solid",shape="box"];2301 -> 3618[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3618 -> 2363[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 822[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (LT == LT)))",fontsize=16,color="black",shape="box"];822 -> 858[label="",style="solid", color="black", weight=3]; 176.54/122.12 823[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="triangle"];823 -> 859[label="",style="solid", color="black", weight=3]; 176.54/122.12 824[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz71000) Zero == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz71000) Zero == LT)))",fontsize=16,color="black",shape="box"];824 -> 860[label="",style="solid", color="black", weight=3]; 176.54/122.12 825 -> 823[label="",style="dashed", color="red", weight=0]; 176.54/122.12 825[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="magenta"];1595[label="absReal1 (Pos (Succ vuz104)) False",fontsize=16,color="black",shape="box"];1595 -> 1619[label="",style="solid", color="black", weight=3]; 176.54/122.12 1596[label="vuz104",fontsize=16,color="green",shape="box"];922[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];922 -> 956[label="",style="solid", color="black", weight=3]; 176.54/122.12 923[label="primNegInt (Neg (Succ vuz3000))",fontsize=16,color="black",shape="triangle"];923 -> 957[label="",style="solid", color="black", weight=3]; 176.54/122.12 2087[label="absReal1 (Neg (Succ vuz130)) True",fontsize=16,color="black",shape="box"];2087 -> 2139[label="",style="solid", color="black", weight=3]; 176.54/122.12 929[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];929 -> 963[label="",style="solid", color="black", weight=3]; 176.54/122.12 930[label="primModNatS0 (Succ vuz69000) (Succ vuz68000) (primGEqNatS (Succ vuz69000) (Succ vuz68000))",fontsize=16,color="black",shape="box"];930 -> 964[label="",style="solid", color="black", weight=3]; 176.54/122.12 931[label="primModNatS0 (Succ vuz69000) Zero (primGEqNatS (Succ vuz69000) Zero)",fontsize=16,color="black",shape="box"];931 -> 965[label="",style="solid", color="black", weight=3]; 176.54/122.12 932[label="primModNatS0 Zero (Succ vuz68000) (primGEqNatS Zero (Succ vuz68000))",fontsize=16,color="black",shape="box"];932 -> 966[label="",style="solid", color="black", weight=3]; 176.54/122.12 933[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];933 -> 967[label="",style="solid", color="black", weight=3]; 176.54/122.12 2252[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) vuz144 == LT)))",fontsize=16,color="burlywood",shape="box"];3619[label="vuz144/Succ vuz1440",fontsize=10,color="white",style="solid",shape="box"];2252 -> 3619[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3619 -> 2267[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3620[label="vuz144/Zero",fontsize=10,color="white",style="solid",shape="box"];2252 -> 3620[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3620 -> 2268[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2253[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero vuz144 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero vuz144 == LT)))",fontsize=16,color="burlywood",shape="box"];3621[label="vuz144/Succ vuz1440",fontsize=10,color="white",style="solid",shape="box"];2253 -> 3621[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3621 -> 2269[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3622[label="vuz144/Zero",fontsize=10,color="white",style="solid",shape="box"];2253 -> 3622[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3622 -> 2270[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 851[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz38000))) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos (Succ vuz38000))) True)",fontsize=16,color="black",shape="box"];851 -> 940[label="",style="solid", color="black", weight=3]; 176.54/122.12 852[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (LT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not (LT == LT)))",fontsize=16,color="black",shape="box"];852 -> 941[label="",style="solid", color="black", weight=3]; 176.54/122.12 853[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="triangle"];853 -> 942[label="",style="solid", color="black", weight=3]; 176.54/122.12 854 -> 853[label="",style="dashed", color="red", weight=0]; 176.54/122.12 854[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="magenta"];855[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz38000))) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg (Succ vuz38000))) False)",fontsize=16,color="black",shape="box"];855 -> 943[label="",style="solid", color="black", weight=3]; 176.54/122.12 2362[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) vuz154 == LT)))",fontsize=16,color="burlywood",shape="box"];3623[label="vuz154/Succ vuz1540",fontsize=10,color="white",style="solid",shape="box"];2362 -> 3623[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3623 -> 2415[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3624[label="vuz154/Zero",fontsize=10,color="white",style="solid",shape="box"];2362 -> 3624[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3624 -> 2416[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2363[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero vuz154 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero vuz154 == LT)))",fontsize=16,color="burlywood",shape="box"];3625[label="vuz154/Succ vuz1540",fontsize=10,color="white",style="solid",shape="box"];2363 -> 3625[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3625 -> 2417[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3626[label="vuz154/Zero",fontsize=10,color="white",style="solid",shape="box"];2363 -> 3626[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3626 -> 2418[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 858[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not True))",fontsize=16,color="black",shape="box"];858 -> 946[label="",style="solid", color="black", weight=3]; 176.54/122.12 859[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="triangle"];859 -> 947[label="",style="solid", color="black", weight=3]; 176.54/122.12 860[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (GT == LT)) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not (GT == LT)))",fontsize=16,color="black",shape="box"];860 -> 948[label="",style="solid", color="black", weight=3]; 176.54/122.12 1619[label="absReal0 (Pos (Succ vuz104)) otherwise",fontsize=16,color="black",shape="box"];1619 -> 1653[label="",style="solid", color="black", weight=3]; 176.54/122.12 956[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];956 -> 985[label="",style="solid", color="black", weight=3]; 176.54/122.12 957[label="Pos (Succ vuz3000)",fontsize=16,color="green",shape="box"];2139[label="Neg (Succ vuz130)",fontsize=16,color="green",shape="box"];963[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="triangle"];963 -> 991[label="",style="solid", color="black", weight=3]; 176.54/122.12 964 -> 2427[label="",style="dashed", color="red", weight=0]; 176.54/122.12 964[label="primModNatS0 (Succ vuz69000) (Succ vuz68000) (primGEqNatS vuz69000 vuz68000)",fontsize=16,color="magenta"];964 -> 2428[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 964 -> 2429[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 964 -> 2430[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 964 -> 2431[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 965[label="primModNatS0 (Succ vuz69000) Zero True",fontsize=16,color="black",shape="box"];965 -> 994[label="",style="solid", color="black", weight=3]; 176.54/122.12 966[label="primModNatS0 Zero (Succ vuz68000) False",fontsize=16,color="black",shape="box"];966 -> 995[label="",style="solid", color="black", weight=3]; 176.54/122.12 967[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];967 -> 996[label="",style="solid", color="black", weight=3]; 176.54/122.12 2267[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) (Succ vuz1440) == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) (Succ vuz1440) == LT)))",fontsize=16,color="black",shape="box"];2267 -> 2364[label="",style="solid", color="black", weight=3]; 176.54/122.12 2268[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) Zero == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat (Succ vuz1430) Zero == LT)))",fontsize=16,color="black",shape="box"];2268 -> 2365[label="",style="solid", color="black", weight=3]; 176.54/122.12 2269[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero (Succ vuz1440) == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero (Succ vuz1440) == LT)))",fontsize=16,color="black",shape="box"];2269 -> 2366[label="",style="solid", color="black", weight=3]; 176.54/122.12 2270[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero Zero == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat Zero Zero == LT)))",fontsize=16,color="black",shape="box"];2270 -> 2367[label="",style="solid", color="black", weight=3]; 176.54/122.12 940 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 940[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz38000)) == vuz62) (abs (Integer vuz370)) (Integer (Pos (Succ vuz38000)))",fontsize=16,color="magenta"];940 -> 1151[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 940 -> 1152[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 941[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not True) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) (not True))",fontsize=16,color="black",shape="box"];941 -> 1005[label="",style="solid", color="black", weight=3]; 176.54/122.12 942[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];942 -> 1006[label="",style="solid", color="black", weight=3]; 176.54/122.12 943[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz38000))) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg (Succ vuz38000))) otherwise)",fontsize=16,color="black",shape="box"];943 -> 1007[label="",style="solid", color="black", weight=3]; 176.54/122.12 2415[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) (Succ vuz1540) == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) (Succ vuz1540) == LT)))",fontsize=16,color="black",shape="box"];2415 -> 2468[label="",style="solid", color="black", weight=3]; 176.54/122.12 2416[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) Zero == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat (Succ vuz1530) Zero == LT)))",fontsize=16,color="black",shape="box"];2416 -> 2469[label="",style="solid", color="black", weight=3]; 176.54/122.12 2417[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero (Succ vuz1540) == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero (Succ vuz1540) == LT)))",fontsize=16,color="black",shape="box"];2417 -> 2470[label="",style="solid", color="black", weight=3]; 176.54/122.12 2418[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero Zero == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat Zero Zero == LT)))",fontsize=16,color="black",shape="box"];2418 -> 2471[label="",style="solid", color="black", weight=3]; 176.54/122.12 946[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) False)",fontsize=16,color="black",shape="box"];946 -> 1012[label="",style="solid", color="black", weight=3]; 176.54/122.12 947[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];947 -> 1013[label="",style="solid", color="black", weight=3]; 176.54/122.12 948 -> 859[label="",style="dashed", color="red", weight=0]; 176.54/122.12 948[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="magenta"];1653[label="absReal0 (Pos (Succ vuz104)) True",fontsize=16,color="black",shape="box"];1653 -> 1695[label="",style="solid", color="black", weight=3]; 176.54/122.12 985[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];985 -> 1029[label="",style="solid", color="black", weight=3]; 176.54/122.12 991[label="Pos Zero",fontsize=16,color="green",shape="box"];2428[label="vuz69000",fontsize=16,color="green",shape="box"];2429[label="vuz68000",fontsize=16,color="green",shape="box"];2430[label="vuz69000",fontsize=16,color="green",shape="box"];2431[label="vuz68000",fontsize=16,color="green",shape="box"];2427[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS vuz160 vuz161)",fontsize=16,color="burlywood",shape="triangle"];3627[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];2427 -> 3627[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3627 -> 2472[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3628[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];2427 -> 3628[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3628 -> 2473[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 994 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 994[label="primModNatS (primMinusNatS (Succ vuz69000) Zero) (Succ Zero)",fontsize=16,color="magenta"];994 -> 1039[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 994 -> 1040[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 995[label="Succ Zero",fontsize=16,color="green",shape="box"];996 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 996[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];996 -> 1041[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 996 -> 1042[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2364 -> 2191[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2364[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz1430 vuz1440 == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (primCmpNat vuz1430 vuz1440 == LT)))",fontsize=16,color="magenta"];2364 -> 2419[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2364 -> 2420[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2365 -> 777[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2365[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (GT == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (GT == LT)))",fontsize=16,color="magenta"];2365 -> 2421[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2365 -> 2422[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2365 -> 2423[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2365 -> 2424[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2366[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (LT == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];2366 -> 2425[label="",style="solid", color="black", weight=3]; 176.54/122.12 2367[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not (EQ == LT)) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];2367 -> 2426[label="",style="solid", color="black", weight=3]; 176.54/122.12 1151 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1151[label="Integer (Pos (Succ vuz38000)) == vuz62",fontsize=16,color="magenta"];1151 -> 1167[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1151 -> 1168[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1152[label="Pos (Succ vuz38000)",fontsize=16,color="green",shape="box"];1150[label="Integer vuz360 `quot` gcd0Gcd'1 vuz93 (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="burlywood",shape="triangle"];3629[label="vuz93/False",fontsize=10,color="white",style="solid",shape="box"];1150 -> 3629[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3629 -> 1169[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3630[label="vuz93/True",fontsize=10,color="white",style="solid",shape="box"];1150 -> 3630[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3630 -> 1170[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1005[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) False == vuz62) (abs (Integer vuz370)) (absReal1 (Integer (Pos Zero)) False)",fontsize=16,color="black",shape="box"];1005 -> 1047[label="",style="solid", color="black", weight=3]; 176.54/122.12 1006 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1006[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos Zero) == vuz62) (abs (Integer vuz370)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1006 -> 1155[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1006 -> 1156[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1007[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz38000))) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg (Succ vuz38000))) True)",fontsize=16,color="black",shape="box"];1007 -> 1052[label="",style="solid", color="black", weight=3]; 176.54/122.12 2468 -> 2301[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2468[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz1530 vuz1540 == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (primCmpNat vuz1530 vuz1540 == LT)))",fontsize=16,color="magenta"];2468 -> 2503[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2468 -> 2504[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2469[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (GT == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];2469 -> 2505[label="",style="solid", color="black", weight=3]; 176.54/122.12 2470 -> 782[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2470[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (LT == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (LT == LT)))",fontsize=16,color="magenta"];2470 -> 2506[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2470 -> 2507[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2470 -> 2508[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2470 -> 2509[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2471[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not (EQ == LT)) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];2471 -> 2510[label="",style="solid", color="black", weight=3]; 176.54/122.12 1012[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg Zero)) otherwise)",fontsize=16,color="black",shape="box"];1012 -> 1057[label="",style="solid", color="black", weight=3]; 176.54/122.12 1013 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1013[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Neg Zero) == vuz62) (abs (Integer vuz370)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1013 -> 1157[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1013 -> 1158[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1695[label="`negate` Pos (Succ vuz104)",fontsize=16,color="black",shape="box"];1695 -> 1701[label="",style="solid", color="black", weight=3]; 176.54/122.12 1029[label="Neg Zero",fontsize=16,color="green",shape="box"];2472[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) vuz161)",fontsize=16,color="burlywood",shape="box"];3631[label="vuz161/Succ vuz1610",fontsize=10,color="white",style="solid",shape="box"];2472 -> 3631[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3631 -> 2511[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3632[label="vuz161/Zero",fontsize=10,color="white",style="solid",shape="box"];2472 -> 3632[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3632 -> 2512[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2473[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero vuz161)",fontsize=16,color="burlywood",shape="box"];3633[label="vuz161/Succ vuz1610",fontsize=10,color="white",style="solid",shape="box"];2473 -> 3633[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3633 -> 2513[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3634[label="vuz161/Zero",fontsize=10,color="white",style="solid",shape="box"];2473 -> 3634[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3634 -> 2514[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1039[label="Zero",fontsize=16,color="green",shape="box"];1040 -> 1022[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1040[label="primMinusNatS (Succ vuz69000) Zero",fontsize=16,color="magenta"];1040 -> 1080[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1040 -> 1081[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1041[label="Zero",fontsize=16,color="green",shape="box"];1042 -> 1022[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1042[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];1042 -> 1082[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1042 -> 1083[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2419[label="vuz1440",fontsize=16,color="green",shape="box"];2420[label="vuz1430",fontsize=16,color="green",shape="box"];2421[label="vuz145",fontsize=16,color="green",shape="box"];2422[label="vuz146",fontsize=16,color="green",shape="box"];2423[label="vuz142",fontsize=16,color="green",shape="box"];2424[label="vuz141",fontsize=16,color="green",shape="box"];2425[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not True) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not True))",fontsize=16,color="black",shape="box"];2425 -> 2474[label="",style="solid", color="black", weight=3]; 176.54/122.12 2426 -> 814[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2426[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) (not False) == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) (not False))",fontsize=16,color="magenta"];2426 -> 2475[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2426 -> 2476[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2426 -> 2477[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2426 -> 2478[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1167[label="Pos (Succ vuz38000)",fontsize=16,color="green",shape="box"];1168[label="vuz62",fontsize=16,color="green",shape="box"];1169[label="Integer vuz360 `quot` gcd0Gcd'1 False (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1169 -> 1214[label="",style="solid", color="black", weight=3]; 176.54/122.12 1170[label="Integer vuz360 `quot` gcd0Gcd'1 True (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1170 -> 1215[label="",style="solid", color="black", weight=3]; 176.54/122.12 1047[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) otherwise == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Pos Zero)) otherwise)",fontsize=16,color="black",shape="box"];1047 -> 1095[label="",style="solid", color="black", weight=3]; 176.54/122.12 1155 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1155[label="Integer (Pos Zero) == vuz62",fontsize=16,color="magenta"];1155 -> 1171[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1155 -> 1172[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1156[label="Pos Zero",fontsize=16,color="green",shape="box"];1052[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz38000)) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Neg (Succ vuz38000)))",fontsize=16,color="black",shape="box"];1052 -> 1100[label="",style="solid", color="black", weight=3]; 176.54/122.12 2503[label="vuz1530",fontsize=16,color="green",shape="box"];2504[label="vuz1540",fontsize=16,color="green",shape="box"];2505[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not False) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not False))",fontsize=16,color="black",shape="triangle"];2505 -> 2546[label="",style="solid", color="black", weight=3]; 176.54/122.12 2506[label="vuz155",fontsize=16,color="green",shape="box"];2507[label="vuz152",fontsize=16,color="green",shape="box"];2508[label="vuz156",fontsize=16,color="green",shape="box"];2509[label="vuz151",fontsize=16,color="green",shape="box"];2510 -> 2505[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2510[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) (not False) == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) (not False))",fontsize=16,color="magenta"];1057[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];1057 -> 1106[label="",style="solid", color="black", weight=3]; 176.54/122.12 1157 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1157[label="Integer (Neg Zero) == vuz62",fontsize=16,color="magenta"];1157 -> 1173[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1157 -> 1174[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1158[label="Neg Zero",fontsize=16,color="green",shape="box"];1701[label="primNegInt (Pos (Succ vuz104))",fontsize=16,color="black",shape="triangle"];1701 -> 1704[label="",style="solid", color="black", weight=3]; 176.54/122.12 2511[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) (Succ vuz1610))",fontsize=16,color="black",shape="box"];2511 -> 2547[label="",style="solid", color="black", weight=3]; 176.54/122.12 2512[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS (Succ vuz1600) Zero)",fontsize=16,color="black",shape="box"];2512 -> 2548[label="",style="solid", color="black", weight=3]; 176.54/122.12 2513[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero (Succ vuz1610))",fontsize=16,color="black",shape="box"];2513 -> 2549[label="",style="solid", color="black", weight=3]; 176.54/122.12 2514[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2514 -> 2550[label="",style="solid", color="black", weight=3]; 176.54/122.12 1080[label="Succ vuz69000",fontsize=16,color="green",shape="box"];1081[label="Zero",fontsize=16,color="green",shape="box"];1082[label="Zero",fontsize=16,color="green",shape="box"];1083[label="Zero",fontsize=16,color="green",shape="box"];2474[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz142))) False == vuz145) (abs (Integer vuz146)) (absReal1 (Integer (Pos (Succ vuz142))) False)",fontsize=16,color="black",shape="box"];2474 -> 2515[label="",style="solid", color="black", weight=3]; 176.54/122.12 2475[label="vuz145",fontsize=16,color="green",shape="box"];2476[label="vuz146",fontsize=16,color="green",shape="box"];2477[label="vuz142",fontsize=16,color="green",shape="box"];2478[label="vuz141",fontsize=16,color="green",shape="box"];1214[label="Integer vuz360 `quot` gcd0Gcd'0 (abs (Integer vuz370)) (Integer vuz94)",fontsize=16,color="black",shape="box"];1214 -> 1256[label="",style="solid", color="black", weight=3]; 176.54/122.12 1215[label="Integer vuz360 `quot` abs (Integer vuz370)",fontsize=16,color="black",shape="box"];1215 -> 1257[label="",style="solid", color="black", weight=3]; 176.54/122.12 1095[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) True == vuz62) (abs (Integer vuz370)) (absReal0 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];1095 -> 1147[label="",style="solid", color="black", weight=3]; 176.54/122.12 1171[label="Pos Zero",fontsize=16,color="green",shape="box"];1172[label="vuz62",fontsize=16,color="green",shape="box"];1100 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1100[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz38000))) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Neg (Succ vuz38000))))",fontsize=16,color="magenta"];1100 -> 1163[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1100 -> 1164[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2546[label="Integer vuz151 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz152))) True == vuz155) (abs (Integer vuz156)) (absReal1 (Integer (Neg (Succ vuz152))) True)",fontsize=16,color="black",shape="box"];2546 -> 2555[label="",style="solid", color="black", weight=3]; 176.54/122.12 1106[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Neg Zero) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1106 -> 1180[label="",style="solid", color="black", weight=3]; 176.54/122.12 1173[label="Neg Zero",fontsize=16,color="green",shape="box"];1174[label="vuz62",fontsize=16,color="green",shape="box"];1704[label="Neg (Succ vuz104)",fontsize=16,color="green",shape="box"];2547 -> 2427[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2547[label="primModNatS0 (Succ vuz158) (Succ vuz159) (primGEqNatS vuz1600 vuz1610)",fontsize=16,color="magenta"];2547 -> 2556[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2547 -> 2557[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2548[label="primModNatS0 (Succ vuz158) (Succ vuz159) True",fontsize=16,color="black",shape="triangle"];2548 -> 2558[label="",style="solid", color="black", weight=3]; 176.54/122.12 2549[label="primModNatS0 (Succ vuz158) (Succ vuz159) False",fontsize=16,color="black",shape="box"];2549 -> 2559[label="",style="solid", color="black", weight=3]; 176.54/122.12 2550 -> 2548[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2550[label="primModNatS0 (Succ vuz158) (Succ vuz159) True",fontsize=16,color="magenta"];2515[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz142))) otherwise == vuz145) (abs (Integer vuz146)) (absReal0 (Integer (Pos (Succ vuz142))) otherwise)",fontsize=16,color="black",shape="box"];2515 -> 2551[label="",style="solid", color="black", weight=3]; 176.54/122.12 1256[label="Integer vuz360 `quot` gcd0Gcd' (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1256 -> 1326[label="",style="solid", color="black", weight=3]; 176.54/122.12 1257[label="Integer vuz360 `quot` absReal (Integer vuz370)",fontsize=16,color="black",shape="box"];1257 -> 1327[label="",style="solid", color="black", weight=3]; 176.54/122.12 1147[label="Integer vuz360 `quot` gcd0Gcd'1 (`negate` Integer (Pos Zero) == vuz62) (abs (Integer vuz370)) (`negate` Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1147 -> 1210[label="",style="solid", color="black", weight=3]; 176.54/122.12 1163 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1163[label="Integer (primNegInt (Neg (Succ vuz38000))) == vuz62",fontsize=16,color="magenta"];1163 -> 1211[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1163 -> 1212[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1164 -> 923[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1164[label="primNegInt (Neg (Succ vuz38000))",fontsize=16,color="magenta"];1164 -> 1213[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2555 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2555[label="Integer vuz151 `quot` gcd0Gcd'1 (Integer (Neg (Succ vuz152)) == vuz155) (abs (Integer vuz156)) (Integer (Neg (Succ vuz152)))",fontsize=16,color="magenta"];2555 -> 2603[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2555 -> 2604[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2555 -> 2605[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2555 -> 2606[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1180 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1180[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg Zero)) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Neg Zero)))",fontsize=16,color="magenta"];1180 -> 1221[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1180 -> 1222[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2556[label="vuz1610",fontsize=16,color="green",shape="box"];2557[label="vuz1600",fontsize=16,color="green",shape="box"];2558 -> 772[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2558[label="primModNatS (primMinusNatS (Succ vuz158) (Succ vuz159)) (Succ (Succ vuz159))",fontsize=16,color="magenta"];2558 -> 2607[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2558 -> 2608[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2559[label="Succ (Succ vuz158)",fontsize=16,color="green",shape="box"];2551[label="Integer vuz141 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz142))) True == vuz145) (abs (Integer vuz146)) (absReal0 (Integer (Pos (Succ vuz142))) True)",fontsize=16,color="black",shape="box"];2551 -> 2560[label="",style="solid", color="black", weight=3]; 176.54/122.12 1326[label="Integer vuz360 `quot` gcd0Gcd'2 (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1326 -> 1368[label="",style="solid", color="black", weight=3]; 176.54/122.12 1327[label="Integer vuz360 `quot` absReal2 (Integer vuz370)",fontsize=16,color="black",shape="box"];1327 -> 1369[label="",style="solid", color="black", weight=3]; 176.54/122.12 1210 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1210[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos Zero)) == vuz62) (abs (Integer vuz370)) (Integer (primNegInt (Pos Zero)))",fontsize=16,color="magenta"];1210 -> 1253[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1210 -> 1254[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1211 -> 923[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1211[label="primNegInt (Neg (Succ vuz38000))",fontsize=16,color="magenta"];1211 -> 1255[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1212[label="vuz62",fontsize=16,color="green",shape="box"];1213[label="vuz38000",fontsize=16,color="green",shape="box"];2603 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2603[label="Integer (Neg (Succ vuz152)) == vuz155",fontsize=16,color="magenta"];2603 -> 2641[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2603 -> 2642[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2604[label="vuz156",fontsize=16,color="green",shape="box"];2605[label="Neg (Succ vuz152)",fontsize=16,color="green",shape="box"];2606[label="vuz151",fontsize=16,color="green",shape="box"];1221 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1221[label="Integer (primNegInt (Neg Zero)) == vuz62",fontsize=16,color="magenta"];1221 -> 1265[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1221 -> 1266[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1222 -> 963[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1222[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];2607[label="Succ vuz159",fontsize=16,color="green",shape="box"];2608 -> 1022[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2608[label="primMinusNatS (Succ vuz158) (Succ vuz159)",fontsize=16,color="magenta"];2608 -> 2643[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2608 -> 2644[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2560[label="Integer vuz141 `quot` gcd0Gcd'1 (`negate` Integer (Pos (Succ vuz142)) == vuz145) (abs (Integer vuz146)) (`negate` Integer (Pos (Succ vuz142)))",fontsize=16,color="black",shape="box"];2560 -> 2609[label="",style="solid", color="black", weight=3]; 176.54/122.12 1368 -> 1405[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1368[label="Integer vuz360 `quot` gcd0Gcd'1 (abs (Integer vuz370) `rem` Integer vuz94 == fromInt (Pos Zero)) (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="magenta"];1368 -> 1406[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1369 -> 1411[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1369[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];1369 -> 1412[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1253 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1253[label="Integer (primNegInt (Pos Zero)) == vuz62",fontsize=16,color="magenta"];1253 -> 1335[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1253 -> 1336[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1254 -> 985[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1254[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];1255[label="vuz38000",fontsize=16,color="green",shape="box"];2641[label="Neg (Succ vuz152)",fontsize=16,color="green",shape="box"];2642[label="vuz155",fontsize=16,color="green",shape="box"];1265 -> 963[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1265[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];1266[label="vuz62",fontsize=16,color="green",shape="box"];2643[label="Succ vuz158",fontsize=16,color="green",shape="box"];2644[label="Succ vuz159",fontsize=16,color="green",shape="box"];2609 -> 1150[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2609[label="Integer vuz141 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos (Succ vuz142))) == vuz145) (abs (Integer vuz146)) (Integer (primNegInt (Pos (Succ vuz142))))",fontsize=16,color="magenta"];2609 -> 2645[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2609 -> 2646[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2609 -> 2647[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2609 -> 2648[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1406 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1406[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1405[label="Integer vuz360 `quot` gcd0Gcd'1 (abs (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (abs (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1405 -> 1414[label="",style="solid", color="black", weight=3]; 176.54/122.12 1412 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1412[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1411[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (Integer vuz370 >= vuz102)",fontsize=16,color="black",shape="triangle"];1411 -> 1415[label="",style="solid", color="black", weight=3]; 176.54/122.12 1335 -> 985[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1335[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];1336[label="vuz62",fontsize=16,color="green",shape="box"];2645 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2645[label="Integer (primNegInt (Pos (Succ vuz142))) == vuz145",fontsize=16,color="magenta"];2645 -> 2673[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2645 -> 2674[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2646[label="vuz146",fontsize=16,color="green",shape="box"];2647 -> 1701[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2647[label="primNegInt (Pos (Succ vuz142))",fontsize=16,color="magenta"];2647 -> 2675[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2648[label="vuz141",fontsize=16,color="green",shape="box"];1414[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1414 -> 1449[label="",style="solid", color="black", weight=3]; 176.54/122.12 1415[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (compare (Integer vuz370) vuz102 /= LT)",fontsize=16,color="black",shape="box"];1415 -> 1450[label="",style="solid", color="black", weight=3]; 176.54/122.12 2673 -> 1701[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2673[label="primNegInt (Pos (Succ vuz142))",fontsize=16,color="magenta"];2673 -> 2703[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2674[label="vuz145",fontsize=16,color="green",shape="box"];2675[label="vuz142",fontsize=16,color="green",shape="box"];1449[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal2 (Integer vuz370) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal2 (Integer vuz370) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1449 -> 1493[label="",style="solid", color="black", weight=3]; 176.54/122.12 1450[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz102 == LT))",fontsize=16,color="burlywood",shape="box"];3635[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1450 -> 3635[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3635 -> 1494[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2703[label="vuz142",fontsize=16,color="green",shape="box"];1493 -> 1524[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1493[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (Integer vuz370 >= fromInt (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1493 -> 1525[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1493 -> 1526[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1494[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1020) == LT))",fontsize=16,color="black",shape="box"];1494 -> 1532[label="",style="solid", color="black", weight=3]; 176.54/122.12 1525 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1525[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1526 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1526[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];1524[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (Integer vuz370 >= vuz110) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (Integer vuz370 >= vuz109) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1524 -> 1559[label="",style="solid", color="black", weight=3]; 176.54/122.12 1532[label="Integer vuz360 `quot` absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3636[label="vuz370/Pos vuz3700",fontsize=10,color="white",style="solid",shape="box"];1532 -> 3636[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3636 -> 1566[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3637[label="vuz370/Neg vuz3700",fontsize=10,color="white",style="solid",shape="box"];1532 -> 3637[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3637 -> 1567[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1559[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (compare (Integer vuz370) vuz110 /= LT) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (compare (Integer vuz370) vuz110 /= LT) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1559 -> 1594[label="",style="solid", color="black", weight=3]; 176.54/122.12 1566[label="Integer vuz360 `quot` absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3638[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1566 -> 3638[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3638 -> 1597[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3639[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1566 -> 3639[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3639 -> 1598[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1567[label="Integer vuz360 `quot` absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3640[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1567 -> 3640[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3640 -> 1599[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3641[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1567 -> 3641[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3641 -> 1600[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1594[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz110 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (compare (Integer vuz370) vuz110 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3642[label="vuz110/Integer vuz1100",fontsize=10,color="white",style="solid",shape="box"];1594 -> 3642[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3642 -> 1635[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1597[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3643[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1597 -> 3643[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3643 -> 1636[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3644[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1597 -> 3644[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3644 -> 1637[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1598[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3645[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1598 -> 3645[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3645 -> 1638[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3646[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1598 -> 3646[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3646 -> 1639[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1599[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3647[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1599 -> 3647[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3647 -> 1640[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3648[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1599 -> 3648[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3648 -> 1641[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1600[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1020 == LT))",fontsize=16,color="burlywood",shape="box"];3649[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1600 -> 3649[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3649 -> 1642[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3650[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1600 -> 3650[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3650 -> 1643[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1635[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1100) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (compare (Integer vuz370) (Integer vuz1100) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1635 -> 1671[label="",style="solid", color="black", weight=3]; 176.54/122.12 1636[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz10200) == LT))",fontsize=16,color="black",shape="box"];1636 -> 1672[label="",style="solid", color="black", weight=3]; 176.54/122.12 1637[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz10200) == LT))",fontsize=16,color="black",shape="box"];1637 -> 1673[label="",style="solid", color="black", weight=3]; 176.54/122.12 1638[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3651[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1638 -> 3651[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3651 -> 1674[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3652[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1638 -> 3652[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3652 -> 1675[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1639[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3653[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1639 -> 3653[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3653 -> 1676[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3654[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1639 -> 3654[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3654 -> 1677[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1640[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz10200) == LT))",fontsize=16,color="black",shape="box"];1640 -> 1678[label="",style="solid", color="black", weight=3]; 176.54/122.12 1641[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz10200) == LT))",fontsize=16,color="black",shape="box"];1641 -> 1679[label="",style="solid", color="black", weight=3]; 176.54/122.12 1642[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3655[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1642 -> 3655[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3655 -> 1680[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3656[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1642 -> 3656[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3656 -> 1681[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1643[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz10200) == LT))",fontsize=16,color="burlywood",shape="box"];3657[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1643 -> 3657[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3657 -> 1682[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3658[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1643 -> 3658[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3658 -> 1683[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1671[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer vuz370) (not (primCmpInt vuz370 vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3659[label="vuz370/Pos vuz3700",fontsize=10,color="white",style="solid",shape="box"];1671 -> 3659[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3659 -> 1715[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3660[label="vuz370/Neg vuz3700",fontsize=10,color="white",style="solid",shape="box"];1671 -> 3660[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3660 -> 1716[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1672 -> 3027[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1672[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz10200 == LT))",fontsize=16,color="magenta"];1672 -> 3028[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1672 -> 3029[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1672 -> 3030[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1672 -> 3031[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1673[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];1673 -> 1719[label="",style="solid", color="black", weight=3]; 176.54/122.12 1674[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1674 -> 1720[label="",style="solid", color="black", weight=3]; 176.54/122.12 1675[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1675 -> 1721[label="",style="solid", color="black", weight=3]; 176.54/122.12 1676[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1676 -> 1722[label="",style="solid", color="black", weight=3]; 176.54/122.12 1677[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];1677 -> 1723[label="",style="solid", color="black", weight=3]; 176.54/122.12 1678[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];1678 -> 1724[label="",style="solid", color="black", weight=3]; 176.54/122.12 1679 -> 3072[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1679[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz10200 (Succ vuz37000) == LT))",fontsize=16,color="magenta"];1679 -> 3073[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1679 -> 3074[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1679 -> 3075[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1679 -> 3076[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1680[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1680 -> 1727[label="",style="solid", color="black", weight=3]; 176.54/122.12 1681[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1681 -> 1728[label="",style="solid", color="black", weight=3]; 176.54/122.12 1682[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz102000)) == LT))",fontsize=16,color="black",shape="box"];1682 -> 1729[label="",style="solid", color="black", weight=3]; 176.54/122.12 1683[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];1683 -> 1730[label="",style="solid", color="black", weight=3]; 176.54/122.12 1715[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos vuz3700)) (not (primCmpInt (Pos vuz3700) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3661[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1715 -> 3661[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3661 -> 1756[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3662[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1715 -> 3662[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3662 -> 1757[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1716[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg vuz3700)) (not (primCmpInt (Neg vuz3700) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3663[label="vuz3700/Succ vuz37000",fontsize=10,color="white",style="solid",shape="box"];1716 -> 3663[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3663 -> 1758[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3664[label="vuz3700/Zero",fontsize=10,color="white",style="solid",shape="box"];1716 -> 3664[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3664 -> 1759[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3028[label="vuz37000",fontsize=16,color="green",shape="box"];3029[label="vuz10200",fontsize=16,color="green",shape="box"];3030[label="vuz360",fontsize=16,color="green",shape="box"];3031[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3027[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat vuz179 vuz180 == LT))",fontsize=16,color="burlywood",shape="triangle"];3665[label="vuz179/Succ vuz1790",fontsize=10,color="white",style="solid",shape="box"];3027 -> 3665[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3665 -> 3068[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3666[label="vuz179/Zero",fontsize=10,color="white",style="solid",shape="box"];3027 -> 3666[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3666 -> 3069[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1719[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) (not False)",fontsize=16,color="black",shape="triangle"];1719 -> 1762[label="",style="solid", color="black", weight=3]; 176.54/122.12 1720[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz102000) == LT))",fontsize=16,color="black",shape="box"];1720 -> 1763[label="",style="solid", color="black", weight=3]; 176.54/122.12 1721[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];1721 -> 1764[label="",style="solid", color="black", weight=3]; 176.54/122.12 1722[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1722 -> 1765[label="",style="solid", color="black", weight=3]; 176.54/122.12 1723 -> 1721[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1723[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="magenta"];1724[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) (not True)",fontsize=16,color="black",shape="box"];1724 -> 1766[label="",style="solid", color="black", weight=3]; 176.54/122.12 3073[label="vuz360",fontsize=16,color="green",shape="box"];3074[label="vuz10200",fontsize=16,color="green",shape="box"];3075[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3076[label="vuz37000",fontsize=16,color="green",shape="box"];3072[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat vuz184 vuz185 == LT))",fontsize=16,color="burlywood",shape="triangle"];3667[label="vuz184/Succ vuz1840",fontsize=10,color="white",style="solid",shape="box"];3072 -> 3667[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3667 -> 3113[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3668[label="vuz184/Zero",fontsize=10,color="white",style="solid",shape="box"];3072 -> 3668[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3668 -> 3114[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1727[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1727 -> 1769[label="",style="solid", color="black", weight=3]; 176.54/122.12 1728[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];1728 -> 1770[label="",style="solid", color="black", weight=3]; 176.54/122.12 1729[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1729 -> 1771[label="",style="solid", color="black", weight=3]; 176.54/122.12 1730 -> 1728[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1730[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="magenta"];1756[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3669[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1756 -> 3669[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3669 -> 1795[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3670[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1756 -> 3670[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3670 -> 1796[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1757[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3671[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1757 -> 3671[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3671 -> 1797[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3672[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1757 -> 3672[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3672 -> 1798[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1758[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3673[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1758 -> 3673[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3673 -> 1799[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3674[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1758 -> 3674[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3674 -> 1800[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1759[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1100 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) vuz1100 == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3675[label="vuz1100/Pos vuz11000",fontsize=10,color="white",style="solid",shape="box"];1759 -> 3675[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3675 -> 1801[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3676[label="vuz1100/Neg vuz11000",fontsize=10,color="white",style="solid",shape="box"];1759 -> 3676[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3676 -> 1802[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3068[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) vuz180 == LT))",fontsize=16,color="burlywood",shape="box"];3677[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];3068 -> 3677[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3677 -> 3115[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3678[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];3068 -> 3678[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3678 -> 3116[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3069[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero vuz180 == LT))",fontsize=16,color="burlywood",shape="box"];3679[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];3069 -> 3679[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3679 -> 3117[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3680[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];3069 -> 3680[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3680 -> 3118[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1762[label="Integer vuz360 `quot` absReal1 (Integer (Pos (Succ vuz37000))) True",fontsize=16,color="black",shape="box"];1762 -> 1805[label="",style="solid", color="black", weight=3]; 176.54/122.12 1763[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not (LT == LT))",fontsize=16,color="black",shape="box"];1763 -> 1806[label="",style="solid", color="black", weight=3]; 176.54/122.12 1764[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="triangle"];1764 -> 1807[label="",style="solid", color="black", weight=3]; 176.54/122.12 1765 -> 1764[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1765[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="magenta"];1766[label="Integer vuz360 `quot` absReal1 (Integer (Neg (Succ vuz37000))) False",fontsize=16,color="black",shape="box"];1766 -> 1808[label="",style="solid", color="black", weight=3]; 176.54/122.12 3113[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) vuz185 == LT))",fontsize=16,color="burlywood",shape="box"];3681[label="vuz185/Succ vuz1850",fontsize=10,color="white",style="solid",shape="box"];3113 -> 3681[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3681 -> 3134[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3682[label="vuz185/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 3682[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3682 -> 3135[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3114[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero vuz185 == LT))",fontsize=16,color="burlywood",shape="box"];3683[label="vuz185/Succ vuz1850",fontsize=10,color="white",style="solid",shape="box"];3114 -> 3683[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3683 -> 3136[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3684[label="vuz185/Zero",fontsize=10,color="white",style="solid",shape="box"];3114 -> 3684[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3684 -> 3137[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1769[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not True)",fontsize=16,color="black",shape="box"];1769 -> 1811[label="",style="solid", color="black", weight=3]; 176.54/122.12 1770[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="triangle"];1770 -> 1812[label="",style="solid", color="black", weight=3]; 176.54/122.12 1771[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not (GT == LT))",fontsize=16,color="black",shape="box"];1771 -> 1813[label="",style="solid", color="black", weight=3]; 176.54/122.12 1795[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1795 -> 1849[label="",style="solid", color="black", weight=3]; 176.54/122.12 1796[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpInt (Pos (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1796 -> 1850[label="",style="solid", color="black", weight=3]; 176.54/122.12 1797[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3685[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1797 -> 3685[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3685 -> 1851[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3686[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1797 -> 3686[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3686 -> 1852[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1798[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3687[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1798 -> 3687[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3687 -> 1853[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3688[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1798 -> 3688[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3688 -> 1854[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1799[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1799 -> 1855[label="",style="solid", color="black", weight=3]; 176.54/122.12 1800[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpInt (Neg (Succ vuz37000)) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1800 -> 1856[label="",style="solid", color="black", weight=3]; 176.54/122.12 1801[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3689[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1801 -> 3689[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3689 -> 1857[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3690[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1801 -> 3690[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3690 -> 1858[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1802[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg vuz11000) == LT)) `rem` Integer vuz94)",fontsize=16,color="burlywood",shape="box"];3691[label="vuz11000/Succ vuz110000",fontsize=10,color="white",style="solid",shape="box"];1802 -> 3691[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3691 -> 1859[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3692[label="vuz11000/Zero",fontsize=10,color="white",style="solid",shape="box"];1802 -> 3692[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3692 -> 1860[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3115[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) (Succ vuz1800) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3138[label="",style="solid", color="black", weight=3]; 176.54/122.12 3116[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat (Succ vuz1790) Zero == LT))",fontsize=16,color="black",shape="box"];3116 -> 3139[label="",style="solid", color="black", weight=3]; 176.54/122.12 3117[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero (Succ vuz1800) == LT))",fontsize=16,color="black",shape="box"];3117 -> 3140[label="",style="solid", color="black", weight=3]; 176.54/122.12 3118[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];3118 -> 3141[label="",style="solid", color="black", weight=3]; 176.54/122.12 1805 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1805[label="Integer vuz360 `quot` Integer (Pos (Succ vuz37000))",fontsize=16,color="magenta"];1805 -> 2083[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1806[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) (not True)",fontsize=16,color="black",shape="box"];1806 -> 1866[label="",style="solid", color="black", weight=3]; 176.54/122.12 1807[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1807 -> 1867[label="",style="solid", color="black", weight=3]; 176.54/122.12 1808[label="Integer vuz360 `quot` absReal0 (Integer (Neg (Succ vuz37000))) otherwise",fontsize=16,color="black",shape="box"];1808 -> 1868[label="",style="solid", color="black", weight=3]; 176.54/122.12 3134[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) (Succ vuz1850) == LT))",fontsize=16,color="black",shape="box"];3134 -> 3156[label="",style="solid", color="black", weight=3]; 176.54/122.12 3135[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat (Succ vuz1840) Zero == LT))",fontsize=16,color="black",shape="box"];3135 -> 3157[label="",style="solid", color="black", weight=3]; 176.54/122.12 3136[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero (Succ vuz1850) == LT))",fontsize=16,color="black",shape="box"];3136 -> 3158[label="",style="solid", color="black", weight=3]; 176.54/122.12 3137[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];3137 -> 3159[label="",style="solid", color="black", weight=3]; 176.54/122.12 1811[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) False",fontsize=16,color="black",shape="box"];1811 -> 1873[label="",style="solid", color="black", weight=3]; 176.54/122.12 1812[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1812 -> 1874[label="",style="solid", color="black", weight=3]; 176.54/122.12 1813 -> 1770[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1813[label="Integer vuz360 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="magenta"];1849 -> 3186[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1849[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz11000 == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (primCmpNat (Succ vuz37000) vuz11000 == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1849 -> 3187[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1849 -> 3188[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1849 -> 3189[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1849 -> 3190[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1849 -> 3191[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1849 -> 3192[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1850[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1850 -> 1950[label="",style="solid", color="black", weight=3]; 176.54/122.12 1851[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1851 -> 1951[label="",style="solid", color="black", weight=3]; 176.54/122.12 1852[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1852 -> 1952[label="",style="solid", color="black", weight=3]; 176.54/122.12 1853[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1853 -> 1953[label="",style="solid", color="black", weight=3]; 176.54/122.12 1854[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Neg Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1854 -> 1954[label="",style="solid", color="black", weight=3]; 176.54/122.12 1855[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1855 -> 1955[label="",style="solid", color="black", weight=3]; 176.54/122.12 1856 -> 3251[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1856[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz11000 (Succ vuz37000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not (primCmpNat vuz11000 (Succ vuz37000) == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1856 -> 3252[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1856 -> 3253[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1856 -> 3254[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1856 -> 3255[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1856 -> 3256[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1856 -> 3257[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1857[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1857 -> 1958[label="",style="solid", color="black", weight=3]; 176.54/122.12 1858[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1858 -> 1959[label="",style="solid", color="black", weight=3]; 176.54/122.12 1859[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg (Succ vuz110000)) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1859 -> 1960[label="",style="solid", color="black", weight=3]; 176.54/122.12 1860[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Neg Zero) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1860 -> 1961[label="",style="solid", color="black", weight=3]; 176.54/122.12 3138 -> 3027[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3138[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (primCmpNat vuz1790 vuz1800 == LT))",fontsize=16,color="magenta"];3138 -> 3160[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3138 -> 3161[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3139 -> 1673[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3139[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (GT == LT))",fontsize=16,color="magenta"];3139 -> 3162[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3139 -> 3163[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3140[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (LT == LT))",fontsize=16,color="black",shape="box"];3140 -> 3164[label="",style="solid", color="black", weight=3]; 176.54/122.12 3141[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3141 -> 3165[label="",style="solid", color="black", weight=3]; 176.54/122.12 2083[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2082[label="Integer vuz360 `quot` Integer vuz136",fontsize=16,color="black",shape="triangle"];2082 -> 2088[label="",style="solid", color="black", weight=3]; 176.54/122.12 1866[label="Integer vuz360 `quot` absReal1 (Integer (Pos Zero)) False",fontsize=16,color="black",shape="box"];1866 -> 1967[label="",style="solid", color="black", weight=3]; 176.54/122.12 1867 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1867[label="Integer vuz360 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];1867 -> 2084[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 1868[label="Integer vuz360 `quot` absReal0 (Integer (Neg (Succ vuz37000))) True",fontsize=16,color="black",shape="box"];1868 -> 1969[label="",style="solid", color="black", weight=3]; 176.54/122.12 3156 -> 3072[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3156[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (primCmpNat vuz1840 vuz1850 == LT))",fontsize=16,color="magenta"];3156 -> 3177[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3156 -> 3178[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3157[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (GT == LT))",fontsize=16,color="black",shape="box"];3157 -> 3179[label="",style="solid", color="black", weight=3]; 176.54/122.12 3158 -> 1678[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3158[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (LT == LT))",fontsize=16,color="magenta"];3158 -> 3180[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3158 -> 3181[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3159[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3159 -> 3182[label="",style="solid", color="black", weight=3]; 176.54/122.12 1873[label="Integer vuz360 `quot` absReal0 (Integer (Neg Zero)) otherwise",fontsize=16,color="black",shape="box"];1873 -> 1974[label="",style="solid", color="black", weight=3]; 176.54/122.12 1874 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1874[label="Integer vuz360 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];1874 -> 2085[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3187[label="vuz360",fontsize=16,color="green",shape="box"];3188[label="vuz37000",fontsize=16,color="green",shape="box"];3189[label="vuz11000",fontsize=16,color="green",shape="box"];3190[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3191[label="vuz94",fontsize=16,color="green",shape="box"];3192[label="vuz101",fontsize=16,color="green",shape="box"];3186[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz189 vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz189 vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="triangle"];3693[label="vuz189/Succ vuz1890",fontsize=10,color="white",style="solid",shape="box"];3186 -> 3693[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3693 -> 3247[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3694[label="vuz189/Zero",fontsize=10,color="white",style="solid",shape="box"];3186 -> 3694[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3694 -> 3248[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1950[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1950 -> 2003[label="",style="solid", color="black", weight=3]; 176.54/122.12 1951[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz110000) == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (primCmpNat Zero (Succ vuz110000) == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1951 -> 2004[label="",style="solid", color="black", weight=3]; 176.54/122.12 1952[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1952 -> 2005[label="",style="solid", color="black", weight=3]; 176.54/122.12 1953[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1953 -> 2006[label="",style="solid", color="black", weight=3]; 176.54/122.12 1954 -> 1952[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1954[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];1955[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1955 -> 2007[label="",style="solid", color="black", weight=3]; 176.54/122.12 3252[label="vuz360",fontsize=16,color="green",shape="box"];3253[label="vuz11000",fontsize=16,color="green",shape="box"];3254[label="Succ vuz37000",fontsize=16,color="green",shape="box"];3255[label="vuz101",fontsize=16,color="green",shape="box"];3256[label="vuz94",fontsize=16,color="green",shape="box"];3257[label="vuz37000",fontsize=16,color="green",shape="box"];3251[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz196 vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz196 vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="triangle"];3695[label="vuz196/Succ vuz1960",fontsize=10,color="white",style="solid",shape="box"];3251 -> 3695[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3695 -> 3312[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3696[label="vuz196/Zero",fontsize=10,color="white",style="solid",shape="box"];3251 -> 3696[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3696 -> 3313[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 1958[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1958 -> 2010[label="",style="solid", color="black", weight=3]; 176.54/122.12 1959[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];1959 -> 2011[label="",style="solid", color="black", weight=3]; 176.54/122.12 1960[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz110000) Zero == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (primCmpNat (Succ vuz110000) Zero == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1960 -> 2012[label="",style="solid", color="black", weight=3]; 176.54/122.12 1961 -> 1959[label="",style="dashed", color="red", weight=0]; 176.54/122.12 1961[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz94)",fontsize=16,color="magenta"];3160[label="vuz1800",fontsize=16,color="green",shape="box"];3161[label="vuz1790",fontsize=16,color="green",shape="box"];3162[label="vuz178",fontsize=16,color="green",shape="box"];3163[label="vuz177",fontsize=16,color="green",shape="box"];3164[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not True)",fontsize=16,color="black",shape="box"];3164 -> 3183[label="",style="solid", color="black", weight=3]; 176.54/122.12 3165 -> 1719[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3165[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) (not False)",fontsize=16,color="magenta"];3165 -> 3184[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3165 -> 3185[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2088[label="Integer (primQuotInt vuz360 vuz136)",fontsize=16,color="green",shape="box"];2088 -> 2141[label="",style="dashed", color="green", weight=3]; 176.54/122.12 1967[label="Integer vuz360 `quot` absReal0 (Integer (Pos Zero)) otherwise",fontsize=16,color="black",shape="box"];1967 -> 2020[label="",style="solid", color="black", weight=3]; 176.54/122.12 2084[label="Pos Zero",fontsize=16,color="green",shape="box"];1969[label="Integer vuz360 `quot` (`negate` Integer (Neg (Succ vuz37000)))",fontsize=16,color="black",shape="box"];1969 -> 2022[label="",style="solid", color="black", weight=3]; 176.54/122.12 3177[label="vuz1840",fontsize=16,color="green",shape="box"];3178[label="vuz1850",fontsize=16,color="green",shape="box"];3179[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3249[label="",style="solid", color="black", weight=3]; 176.54/122.12 3180[label="vuz182",fontsize=16,color="green",shape="box"];3181[label="vuz183",fontsize=16,color="green",shape="box"];3182 -> 3179[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3182[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) (not False)",fontsize=16,color="magenta"];1974[label="Integer vuz360 `quot` absReal0 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1974 -> 2028[label="",style="solid", color="black", weight=3]; 176.54/122.12 2085[label="Neg Zero",fontsize=16,color="green",shape="box"];3247[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="box"];3697[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];3247 -> 3697[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3697 -> 3314[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3698[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];3247 -> 3698[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3698 -> 3315[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3248[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero vuz190 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero vuz190 == LT)) `rem` Integer vuz191)",fontsize=16,color="burlywood",shape="box"];3699[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];3248 -> 3699[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3699 -> 3316[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3700[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];3248 -> 3700[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3700 -> 3317[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2003[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz37000))) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos (Succ vuz37000))) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2003 -> 2062[label="",style="solid", color="black", weight=3]; 176.54/122.12 2004[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (LT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not (LT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2004 -> 2063[label="",style="solid", color="black", weight=3]; 176.54/122.12 2005[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2005 -> 2064[label="",style="solid", color="black", weight=3]; 176.54/122.12 2006 -> 2005[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2006[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="magenta"];2007[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz37000))) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg (Succ vuz37000))) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2007 -> 2065[label="",style="solid", color="black", weight=3]; 176.54/122.12 3312[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="box"];3701[label="vuz197/Succ vuz1970",fontsize=10,color="white",style="solid",shape="box"];3312 -> 3701[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3701 -> 3320[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3702[label="vuz197/Zero",fontsize=10,color="white",style="solid",shape="box"];3312 -> 3702[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3702 -> 3321[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3313[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero vuz197 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero vuz197 == LT)) `rem` Integer vuz198)",fontsize=16,color="burlywood",shape="box"];3703[label="vuz197/Succ vuz1970",fontsize=10,color="white",style="solid",shape="box"];3313 -> 3703[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3703 -> 3322[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3704[label="vuz197/Zero",fontsize=10,color="white",style="solid",shape="box"];3313 -> 3704[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3704 -> 3323[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2010[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2010 -> 2068[label="",style="solid", color="black", weight=3]; 176.54/122.12 2011[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2011 -> 2069[label="",style="solid", color="black", weight=3]; 176.54/122.12 2012[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (GT == LT)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not (GT == LT)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2012 -> 2070[label="",style="solid", color="black", weight=3]; 176.54/122.12 3183[label="Integer vuz177 `quot` absReal1 (Integer (Pos (Succ vuz178))) False",fontsize=16,color="black",shape="box"];3183 -> 3250[label="",style="solid", color="black", weight=3]; 176.54/122.12 3184[label="vuz178",fontsize=16,color="green",shape="box"];3185[label="vuz177",fontsize=16,color="green",shape="box"];2141[label="primQuotInt vuz360 vuz136",fontsize=16,color="burlywood",shape="box"];3705[label="vuz360/Pos vuz3600",fontsize=10,color="white",style="solid",shape="box"];2141 -> 3705[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3705 -> 2189[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3706[label="vuz360/Neg vuz3600",fontsize=10,color="white",style="solid",shape="box"];2141 -> 3706[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3706 -> 2190[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2020[label="Integer vuz360 `quot` absReal0 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];2020 -> 2079[label="",style="solid", color="black", weight=3]; 176.54/122.12 2022 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2022[label="Integer vuz360 `quot` Integer (primNegInt (Neg (Succ vuz37000)))",fontsize=16,color="magenta"];2022 -> 2086[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3249[label="Integer vuz182 `quot` absReal1 (Integer (Neg (Succ vuz183))) True",fontsize=16,color="black",shape="box"];3249 -> 3318[label="",style="solid", color="black", weight=3]; 176.54/122.12 2028[label="Integer vuz360 `quot` (`negate` Integer (Neg Zero))",fontsize=16,color="black",shape="box"];2028 -> 2094[label="",style="solid", color="black", weight=3]; 176.54/122.12 3314[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) (Succ vuz1900) == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) (Succ vuz1900) == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3314 -> 3324[label="",style="solid", color="black", weight=3]; 176.54/122.12 3315[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) Zero == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat (Succ vuz1890) Zero == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3315 -> 3325[label="",style="solid", color="black", weight=3]; 176.54/122.12 3316[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero (Succ vuz1900) == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero (Succ vuz1900) == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3316 -> 3326[label="",style="solid", color="black", weight=3]; 176.54/122.12 3317[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3317 -> 3327[label="",style="solid", color="black", weight=3]; 176.54/122.12 2062 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2062[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz37000)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Pos (Succ vuz37000)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2062 -> 2495[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2062 -> 2496[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2063[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not True) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) (not True) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2063 -> 2156[label="",style="solid", color="black", weight=3]; 176.54/122.12 2064[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2064 -> 2157[label="",style="solid", color="black", weight=3]; 176.54/122.12 2065[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz37000))) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg (Succ vuz37000))) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2065 -> 2158[label="",style="solid", color="black", weight=3]; 176.54/122.12 3320[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) (Succ vuz1970) == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) (Succ vuz1970) == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3320 -> 3331[label="",style="solid", color="black", weight=3]; 176.54/122.12 3321[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) Zero == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat (Succ vuz1960) Zero == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3321 -> 3332[label="",style="solid", color="black", weight=3]; 176.54/122.12 3322[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero (Succ vuz1970) == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero (Succ vuz1970) == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3322 -> 3333[label="",style="solid", color="black", weight=3]; 176.54/122.12 3323[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat Zero Zero == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3323 -> 3334[label="",style="solid", color="black", weight=3]; 176.54/122.12 2068[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2068 -> 2163[label="",style="solid", color="black", weight=3]; 176.54/122.12 2069[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2069 -> 2164[label="",style="solid", color="black", weight=3]; 176.54/122.12 2070 -> 2011[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2070[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz94)",fontsize=16,color="magenta"];3250[label="Integer vuz177 `quot` absReal0 (Integer (Pos (Succ vuz178))) otherwise",fontsize=16,color="black",shape="box"];3250 -> 3319[label="",style="solid", color="black", weight=3]; 176.54/122.12 2189[label="primQuotInt (Pos vuz3600) vuz136",fontsize=16,color="burlywood",shape="box"];3707[label="vuz136/Pos vuz1360",fontsize=10,color="white",style="solid",shape="box"];2189 -> 3707[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3707 -> 2256[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3708[label="vuz136/Neg vuz1360",fontsize=10,color="white",style="solid",shape="box"];2189 -> 3708[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3708 -> 2257[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2190[label="primQuotInt (Neg vuz3600) vuz136",fontsize=16,color="burlywood",shape="box"];3709[label="vuz136/Pos vuz1360",fontsize=10,color="white",style="solid",shape="box"];2190 -> 3709[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3709 -> 2258[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3710[label="vuz136/Neg vuz1360",fontsize=10,color="white",style="solid",shape="box"];2190 -> 3710[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3710 -> 2259[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2079[label="Integer vuz360 `quot` (`negate` Integer (Pos Zero))",fontsize=16,color="black",shape="box"];2079 -> 2170[label="",style="solid", color="black", weight=3]; 176.54/122.12 2086 -> 923[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2086[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2086 -> 2171[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3318 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3318[label="Integer vuz182 `quot` Integer (Neg (Succ vuz183))",fontsize=16,color="magenta"];3318 -> 3328[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3318 -> 3329[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2094 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2094[label="Integer vuz360 `quot` Integer (primNegInt (Neg Zero))",fontsize=16,color="magenta"];2094 -> 2177[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3324 -> 3186[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3324[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz1890 vuz1900 == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (primCmpNat vuz1890 vuz1900 == LT)) `rem` Integer vuz191)",fontsize=16,color="magenta"];3324 -> 3335[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3324 -> 3336[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3325 -> 1850[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3325[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (GT == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (GT == LT)) `rem` Integer vuz191)",fontsize=16,color="magenta"];3325 -> 3337[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3325 -> 3338[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3325 -> 3339[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3325 -> 3340[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3326[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (LT == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (LT == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3326 -> 3341[label="",style="solid", color="black", weight=3]; 176.54/122.12 3327[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not (EQ == LT)) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not (EQ == LT)) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3327 -> 3342[label="",style="solid", color="black", weight=3]; 176.54/122.12 2495[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2496[label="Pos (Succ vuz37000)",fontsize=16,color="green",shape="box"];2494[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer vuz163 `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer vuz162 `rem` Integer vuz94)",fontsize=16,color="black",shape="triangle"];2494 -> 2516[label="",style="solid", color="black", weight=3]; 176.54/122.12 2156[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) False `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal1 (Integer (Pos Zero)) False `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2156 -> 2271[label="",style="solid", color="black", weight=3]; 176.54/122.12 2157 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2157[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Pos Zero) `rem` Integer vuz94)",fontsize=16,color="magenta"];2157 -> 2497[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2157 -> 2498[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2158[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz37000))) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg (Succ vuz37000))) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2158 -> 2273[label="",style="solid", color="black", weight=3]; 176.54/122.12 3331 -> 3251[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3331[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz1960 vuz1970 == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (primCmpNat vuz1960 vuz1970 == LT)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3331 -> 3344[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3331 -> 3345[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3332[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (GT == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (GT == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3332 -> 3346[label="",style="solid", color="black", weight=3]; 176.54/122.12 3333 -> 1855[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3333[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (LT == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (LT == LT)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3333 -> 3347[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3333 -> 3348[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3333 -> 3349[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3333 -> 3350[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3334[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not (EQ == LT)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not (EQ == LT)) `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3334 -> 3351[label="",style="solid", color="black", weight=3]; 176.54/122.12 2163[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg Zero)) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2163 -> 2278[label="",style="solid", color="black", weight=3]; 176.54/122.12 2164 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2164[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (Neg Zero) `rem` Integer vuz94)",fontsize=16,color="magenta"];2164 -> 2499[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2164 -> 2500[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3319[label="Integer vuz177 `quot` absReal0 (Integer (Pos (Succ vuz178))) True",fontsize=16,color="black",shape="box"];3319 -> 3330[label="",style="solid", color="black", weight=3]; 176.54/122.12 2256[label="primQuotInt (Pos vuz3600) (Pos vuz1360)",fontsize=16,color="burlywood",shape="box"];3711[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2256 -> 3711[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3711 -> 2286[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3712[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2256 -> 3712[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3712 -> 2287[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2257[label="primQuotInt (Pos vuz3600) (Neg vuz1360)",fontsize=16,color="burlywood",shape="box"];3713[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2257 -> 3713[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3713 -> 2288[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3714[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2257 -> 3714[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3714 -> 2289[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2258[label="primQuotInt (Neg vuz3600) (Pos vuz1360)",fontsize=16,color="burlywood",shape="box"];3715[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2258 -> 3715[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3715 -> 2290[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3716[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2258 -> 3716[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3716 -> 2291[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2259[label="primQuotInt (Neg vuz3600) (Neg vuz1360)",fontsize=16,color="burlywood",shape="box"];3717[label="vuz1360/Succ vuz13600",fontsize=10,color="white",style="solid",shape="box"];2259 -> 3717[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3717 -> 2292[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 3718[label="vuz1360/Zero",fontsize=10,color="white",style="solid",shape="box"];2259 -> 3718[label="",style="solid", color="burlywood", weight=9]; 176.54/122.12 3718 -> 2293[label="",style="solid", color="burlywood", weight=3]; 176.54/122.12 2170 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2170[label="Integer vuz360 `quot` Integer (primNegInt (Pos Zero))",fontsize=16,color="magenta"];2170 -> 2294[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2171[label="vuz37000",fontsize=16,color="green",shape="box"];3328[label="Neg (Succ vuz183)",fontsize=16,color="green",shape="box"];3329[label="vuz182",fontsize=16,color="green",shape="box"];2177 -> 963[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2177[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];3335[label="vuz1900",fontsize=16,color="green",shape="box"];3336[label="vuz1890",fontsize=16,color="green",shape="box"];3337[label="vuz192",fontsize=16,color="green",shape="box"];3338[label="vuz188",fontsize=16,color="green",shape="box"];3339[label="vuz191",fontsize=16,color="green",shape="box"];3340[label="vuz187",fontsize=16,color="green",shape="box"];3341[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not True) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not True) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3341 -> 3352[label="",style="solid", color="black", weight=3]; 176.54/122.12 3342 -> 1950[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3342[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) (not False) `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) (not False) `rem` Integer vuz191)",fontsize=16,color="magenta"];3342 -> 3353[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3342 -> 3354[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3342 -> 3355[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 3342 -> 3356[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2516 -> 2552[label="",style="dashed", color="red", weight=0]; 176.54/122.12 2516[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primRemInt vuz163 vuz94) == vuz101) (Integer vuz94) (Integer (primRemInt vuz163 vuz94))",fontsize=16,color="magenta"];2516 -> 2553[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2516 -> 2554[label="",style="dashed", color="magenta", weight=3]; 176.54/122.12 2271[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) otherwise `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Pos Zero)) otherwise `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2271 -> 2383[label="",style="solid", color="black", weight=3]; 176.54/122.12 2497[label="Pos Zero",fontsize=16,color="green",shape="box"];2498[label="Pos Zero",fontsize=16,color="green",shape="box"];2273[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz37000))) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Neg (Succ vuz37000))) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2273 -> 2386[label="",style="solid", color="black", weight=3]; 176.54/122.12 3344[label="vuz1960",fontsize=16,color="green",shape="box"];3345[label="vuz1970",fontsize=16,color="green",shape="box"];3346[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198)",fontsize=16,color="black",shape="triangle"];3346 -> 3359[label="",style="solid", color="black", weight=3]; 176.54/122.12 3347[label="vuz199",fontsize=16,color="green",shape="box"];3348[label="vuz198",fontsize=16,color="green",shape="box"];3349[label="vuz194",fontsize=16,color="green",shape="box"];3350[label="vuz195",fontsize=16,color="green",shape="box"];3351 -> 3346[label="",style="dashed", color="red", weight=0]; 176.54/122.12 3351[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) (not False) `rem` Integer vuz198)",fontsize=16,color="magenta"];2278[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Neg Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2278 -> 2392[label="",style="solid", color="black", weight=3]; 176.54/122.12 2499[label="Neg Zero",fontsize=16,color="green",shape="box"];2500[label="Neg Zero",fontsize=16,color="green",shape="box"];3330[label="Integer vuz177 `quot` (`negate` Integer (Pos (Succ vuz178)))",fontsize=16,color="black",shape="box"];3330 -> 3343[label="",style="solid", color="black", weight=3]; 176.54/122.12 2286[label="primQuotInt (Pos vuz3600) (Pos (Succ vuz13600))",fontsize=16,color="black",shape="box"];2286 -> 2402[label="",style="solid", color="black", weight=3]; 176.54/122.13 2287[label="primQuotInt (Pos vuz3600) (Pos Zero)",fontsize=16,color="black",shape="box"];2287 -> 2403[label="",style="solid", color="black", weight=3]; 176.54/122.13 2288[label="primQuotInt (Pos vuz3600) (Neg (Succ vuz13600))",fontsize=16,color="black",shape="box"];2288 -> 2404[label="",style="solid", color="black", weight=3]; 176.54/122.13 2289[label="primQuotInt (Pos vuz3600) (Neg Zero)",fontsize=16,color="black",shape="box"];2289 -> 2405[label="",style="solid", color="black", weight=3]; 176.54/122.13 2290[label="primQuotInt (Neg vuz3600) (Pos (Succ vuz13600))",fontsize=16,color="black",shape="box"];2290 -> 2406[label="",style="solid", color="black", weight=3]; 176.54/122.13 2291[label="primQuotInt (Neg vuz3600) (Pos Zero)",fontsize=16,color="black",shape="box"];2291 -> 2407[label="",style="solid", color="black", weight=3]; 176.54/122.13 2292[label="primQuotInt (Neg vuz3600) (Neg (Succ vuz13600))",fontsize=16,color="black",shape="box"];2292 -> 2408[label="",style="solid", color="black", weight=3]; 176.54/122.13 2293[label="primQuotInt (Neg vuz3600) (Neg Zero)",fontsize=16,color="black",shape="box"];2293 -> 2409[label="",style="solid", color="black", weight=3]; 176.54/122.13 2294 -> 985[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2294[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];3352[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz188))) False `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal1 (Integer (Pos (Succ vuz188))) False `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3352 -> 3360[label="",style="solid", color="black", weight=3]; 176.54/122.13 3353[label="vuz192",fontsize=16,color="green",shape="box"];3354[label="vuz188",fontsize=16,color="green",shape="box"];3355[label="vuz191",fontsize=16,color="green",shape="box"];3356[label="vuz187",fontsize=16,color="green",shape="box"];2553 -> 642[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2553[label="primRemInt vuz163 vuz94",fontsize=16,color="magenta"];2553 -> 2561[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2553 -> 2562[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2554 -> 211[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2554[label="Integer (primRemInt vuz163 vuz94) == vuz101",fontsize=16,color="magenta"];2554 -> 2563[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2554 -> 2564[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2552[label="Integer vuz360 `quot` gcd0Gcd'1 vuz164 (Integer vuz94) (Integer vuz165)",fontsize=16,color="burlywood",shape="triangle"];3719[label="vuz164/False",fontsize=10,color="white",style="solid",shape="box"];2552 -> 3719[label="",style="solid", color="burlywood", weight=9]; 176.54/122.13 3719 -> 2565[label="",style="solid", color="burlywood", weight=3]; 176.54/122.13 3720[label="vuz164/True",fontsize=10,color="white",style="solid",shape="box"];2552 -> 3720[label="",style="solid", color="burlywood", weight=9]; 176.54/122.13 3720 -> 2566[label="",style="solid", color="burlywood", weight=3]; 176.54/122.13 2383[label="Integer vuz360 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos Zero)) True `rem` Integer vuz94 == vuz101) (Integer vuz94) (absReal0 (Integer (Pos Zero)) True `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2383 -> 2489[label="",style="solid", color="black", weight=3]; 176.54/122.13 2386 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2386[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz37000))) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Neg (Succ vuz37000))) `rem` Integer vuz94)",fontsize=16,color="magenta"];2386 -> 2501[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2386 -> 2502[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3359[label="Integer vuz194 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz195))) True `rem` Integer vuz198 == vuz199) (Integer vuz198) (absReal1 (Integer (Neg (Succ vuz195))) True `rem` Integer vuz198)",fontsize=16,color="black",shape="box"];3359 -> 3362[label="",style="solid", color="black", weight=3]; 176.54/122.13 2392[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Neg Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Neg Zero)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2392 -> 2522[label="",style="solid", color="black", weight=3]; 176.54/122.13 3343 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3343[label="Integer vuz177 `quot` Integer (primNegInt (Pos (Succ vuz178)))",fontsize=16,color="magenta"];3343 -> 3357[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3343 -> 3358[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2402[label="Pos (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2402 -> 2529[label="",style="dashed", color="green", weight=3]; 176.54/122.13 2403 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2403[label="error []",fontsize=16,color="magenta"];2404[label="Neg (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2404 -> 2530[label="",style="dashed", color="green", weight=3]; 176.54/122.13 2405 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2405[label="error []",fontsize=16,color="magenta"];2406[label="Neg (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2406 -> 2531[label="",style="dashed", color="green", weight=3]; 176.54/122.13 2407 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2407[label="error []",fontsize=16,color="magenta"];2408[label="Pos (primDivNatS vuz3600 (Succ vuz13600))",fontsize=16,color="green",shape="box"];2408 -> 2532[label="",style="dashed", color="green", weight=3]; 176.54/122.13 2409 -> 484[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2409[label="error []",fontsize=16,color="magenta"];3360[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz188))) otherwise `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal0 (Integer (Pos (Succ vuz188))) otherwise `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3360 -> 3363[label="",style="solid", color="black", weight=3]; 176.54/122.13 2561[label="vuz94",fontsize=16,color="green",shape="box"];2562[label="vuz163",fontsize=16,color="green",shape="box"];2563 -> 642[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2563[label="primRemInt vuz163 vuz94",fontsize=16,color="magenta"];2563 -> 2610[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2563 -> 2611[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2564[label="vuz101",fontsize=16,color="green",shape="box"];2565[label="Integer vuz360 `quot` gcd0Gcd'1 False (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2565 -> 2612[label="",style="solid", color="black", weight=3]; 176.54/122.13 2566[label="Integer vuz360 `quot` gcd0Gcd'1 True (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2566 -> 2613[label="",style="solid", color="black", weight=3]; 176.54/122.13 2489[label="Integer vuz360 `quot` gcd0Gcd'1 ((`negate` Integer (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) ((`negate` Integer (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];2489 -> 2543[label="",style="solid", color="black", weight=3]; 176.54/122.13 2501 -> 923[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2501[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2501 -> 2544[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2502 -> 923[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2502[label="primNegInt (Neg (Succ vuz37000))",fontsize=16,color="magenta"];2502 -> 2545[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3362 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3362[label="Integer vuz194 `quot` gcd0Gcd'1 (Integer (Neg (Succ vuz195)) `rem` Integer vuz198 == vuz199) (Integer vuz198) (Integer (Neg (Succ vuz195)) `rem` Integer vuz198)",fontsize=16,color="magenta"];3362 -> 3364[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3362 -> 3365[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3362 -> 3366[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3362 -> 3367[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3362 -> 3368[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2522 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2522[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Neg Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2522 -> 2572[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2522 -> 2573[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3357 -> 1701[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3357[label="primNegInt (Pos (Succ vuz178))",fontsize=16,color="magenta"];3357 -> 3361[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3358[label="vuz177",fontsize=16,color="green",shape="box"];2529 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2529[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2529 -> 2581[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2529 -> 2582[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2530 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2530[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2530 -> 2583[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2530 -> 2584[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2531 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2531[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2531 -> 2585[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2531 -> 2586[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2532 -> 497[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2532[label="primDivNatS vuz3600 (Succ vuz13600)",fontsize=16,color="magenta"];2532 -> 2587[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2532 -> 2588[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3363[label="Integer vuz187 `quot` gcd0Gcd'1 (absReal0 (Integer (Pos (Succ vuz188))) True `rem` Integer vuz191 == vuz192) (Integer vuz191) (absReal0 (Integer (Pos (Succ vuz188))) True `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3363 -> 3369[label="",style="solid", color="black", weight=3]; 176.54/122.13 2610[label="vuz94",fontsize=16,color="green",shape="box"];2611[label="vuz163",fontsize=16,color="green",shape="box"];2612[label="Integer vuz360 `quot` gcd0Gcd'0 (Integer vuz94) (Integer vuz165)",fontsize=16,color="black",shape="box"];2612 -> 2649[label="",style="solid", color="black", weight=3]; 176.54/122.13 2613 -> 2082[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2613[label="Integer vuz360 `quot` Integer vuz94",fontsize=16,color="magenta"];2613 -> 2650[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2543 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2543[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos Zero)) `rem` Integer vuz94 == vuz101) (Integer vuz94) (Integer (primNegInt (Pos Zero)) `rem` Integer vuz94)",fontsize=16,color="magenta"];2543 -> 2601[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2543 -> 2602[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2544[label="vuz37000",fontsize=16,color="green",shape="box"];2545[label="vuz37000",fontsize=16,color="green",shape="box"];3364[label="Neg (Succ vuz195)",fontsize=16,color="green",shape="box"];3365[label="vuz199",fontsize=16,color="green",shape="box"];3366[label="vuz198",fontsize=16,color="green",shape="box"];3367[label="Neg (Succ vuz195)",fontsize=16,color="green",shape="box"];3368[label="vuz194",fontsize=16,color="green",shape="box"];2572 -> 963[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2572[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];2573 -> 963[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2573[label="primNegInt (Neg Zero)",fontsize=16,color="magenta"];3361[label="vuz178",fontsize=16,color="green",shape="box"];2581[label="vuz3600",fontsize=16,color="green",shape="box"];2582[label="vuz13600",fontsize=16,color="green",shape="box"];2583[label="vuz3600",fontsize=16,color="green",shape="box"];2584[label="vuz13600",fontsize=16,color="green",shape="box"];2585[label="vuz3600",fontsize=16,color="green",shape="box"];2586[label="vuz13600",fontsize=16,color="green",shape="box"];2587[label="vuz3600",fontsize=16,color="green",shape="box"];2588[label="vuz13600",fontsize=16,color="green",shape="box"];3369[label="Integer vuz187 `quot` gcd0Gcd'1 ((`negate` Integer (Pos (Succ vuz188))) `rem` Integer vuz191 == vuz192) (Integer vuz191) ((`negate` Integer (Pos (Succ vuz188))) `rem` Integer vuz191)",fontsize=16,color="black",shape="box"];3369 -> 3370[label="",style="solid", color="black", weight=3]; 176.54/122.13 2649[label="Integer vuz360 `quot` gcd0Gcd' (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="black",shape="box"];2649 -> 2676[label="",style="solid", color="black", weight=3]; 176.54/122.13 2650[label="vuz94",fontsize=16,color="green",shape="box"];2601 -> 985[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2601[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];2602 -> 985[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2602[label="primNegInt (Pos Zero)",fontsize=16,color="magenta"];3370 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3370[label="Integer vuz187 `quot` gcd0Gcd'1 (Integer (primNegInt (Pos (Succ vuz188))) `rem` Integer vuz191 == vuz192) (Integer vuz191) (Integer (primNegInt (Pos (Succ vuz188))) `rem` Integer vuz191)",fontsize=16,color="magenta"];3370 -> 3371[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3370 -> 3372[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3370 -> 3373[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3370 -> 3374[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3370 -> 3375[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2676[label="Integer vuz360 `quot` gcd0Gcd'2 (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="black",shape="box"];2676 -> 2704[label="",style="solid", color="black", weight=3]; 176.54/122.13 3371 -> 1701[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3371[label="primNegInt (Pos (Succ vuz188))",fontsize=16,color="magenta"];3371 -> 3376[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3372[label="vuz192",fontsize=16,color="green",shape="box"];3373[label="vuz191",fontsize=16,color="green",shape="box"];3374 -> 1701[label="",style="dashed", color="red", weight=0]; 176.54/122.13 3374[label="primNegInt (Pos (Succ vuz188))",fontsize=16,color="magenta"];3374 -> 3377[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3375[label="vuz187",fontsize=16,color="green",shape="box"];2704 -> 2494[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2704[label="Integer vuz360 `quot` gcd0Gcd'1 (Integer vuz94 `rem` Integer vuz165 == fromInt (Pos Zero)) (Integer vuz165) (Integer vuz94 `rem` Integer vuz165)",fontsize=16,color="magenta"];2704 -> 2734[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2704 -> 2735[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2704 -> 2736[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 2704 -> 2737[label="",style="dashed", color="magenta", weight=3]; 176.54/122.13 3376[label="vuz188",fontsize=16,color="green",shape="box"];3377[label="vuz188",fontsize=16,color="green",shape="box"];2734[label="vuz94",fontsize=16,color="green",shape="box"];2735 -> 12[label="",style="dashed", color="red", weight=0]; 176.54/122.13 2735[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2736[label="vuz165",fontsize=16,color="green",shape="box"];2737[label="vuz94",fontsize=16,color="green",shape="box"];} 176.54/122.13 176.54/122.13 ---------------------------------------- 176.54/122.13 176.54/122.13 (1298) 176.54/122.13 TRUE 176.54/122.16 EOF